linux笔记1

Linux文件系统
linux系统的硬盘分区管理相关概念:

对于Linux的分区通常可以使用fdisk命令工具和parted工具
对于分区表通常有MBR分区表和GPT分区表
对于磁盘大小小于2T的磁盘,我们可以使用fdisk和parted命令工具进行分区

对于MBR分区表的特点(通常使用fdisk命令进行分区)
所支持的最大磁盘大小:2T
最多支持4个主分区或者是3个主分区加上一个扩展分区

对于GPT分区表的特点(使用parted命令进行分区)
支持最大卷:18EB(1EB=1024TB)
最多支持128个主分区,所以对于GPT的分区表来说,基本就没有什么主分区和逻辑分区的区别了。

1、可以分为主分区、扩展分区、逻辑分区
2、硬盘采用hdX格式表示,X代表a.b.c.d
3、系统最多只有4个IDE设备,其中第一个IDE设备名称为hda,第4个为hdd

补充:
IDE: 一种较老的接口技术,价格低廉,兼容性强,传输速度可达133MB/s
SCSI: 主要应用于中、高端服务器中,支持热拔插,价格较高,其中UltraSCSI可达320MB/S,UltraSCSI640可达640MB/S
SATA: 主要用于PC上,串口硬盘,可达6gbps
SAS: 是一种串行链接的SCSI接口技术,向下兼容SATA,速度快
USB: 一种便携的存储设备,USB3.0理论最大传输速度可达500MB/s,现在最新的USB3.1Gen 2最高可达10Gbps

并口:同一线缆可以接多块设备,IDE和SCSI为并口硬盘;
串口:同一线缆只可以接一个设备,SATA、SAS和USB为串口,抗干扰能力强。

主分区:一个硬盘最多只能有4个主分区,主分区采用hdXN的格式,hdX为硬盘,N是1-4的数字,分别表示4个主分区,第一个硬盘的第一个主分区,表示为hda1,以此类推

扩展分区:扩展分区作为特殊的主分区需要占用硬盘分区表中4个分区记录中的1个记录

逻辑分区:逻辑分区只能建立在扩展分区中,可以建立文件系统。逻辑分区同样采用了hdXN 的格式,区别在于,逻辑分区的N是从5开始算的,第一个硬盘的第2个逻辑分区就为hda6

注意:IDE设备: hda2, hdb3等等
SCSI设备/SATA设备: sda2, sdb3等等

文件系统:EXT2和EXT3都是Linux操作系统默认使用的文件系统,EXT3属于日志文件系统,比较出色。swap文件系统在Linux系统的交换分区中使用,也是Linux系统默认支持的,一般设置为主机系统内存的2倍大小。其他的文件系统包裹 xfs、jfs 等,这些大多使用与商业的UNIX系统。FAT文件系统Linux可以读写,NTFS中能读,不能写

最经典的分配方案:
/boot:启动分区
swap:交换分区
/ :根分区

Linux操作系统和windows操作系统使用的文件系统是不一样的。
CentOS是EXT4格式 // 查询方式:cat /etc/fstab
Windows一般是NTFS

Linux根据文件形式主要将文件分为目录和普通文件,如下图:

Directory表示目录
Ordinary File表示普通文件
如果像上图一样把Linux的文件系统看做是一棵树,那么:
1、所有的Ordinary File都是叶子节点
2、含有子节点的节点都一定是目录,因为只有目录下才有子目录或者普通文件,普通文件下是没有子级目录的,还是很好理解吧

目录或者文件的名称长度不超过255个字符,文件或者目录是由以下字符构成:
1、Uppercase letters (A-Z)
2、Lowercase letters (a-z)
3、Numbers (0-9)
4、Underscore (_)
5、Period(.)
6、Comma(,)
注意:文件和目录是区分大小写的

文件扩展名
Linux对文件的扩展名是没有强制要求的,甚至可以说没有扩展名之类的概念。但是通常我们创建文件或者保存文件的时候都还是最好给弄一个文件扩展名,这样非常有利于理解文件的内容,方便管理
下面是CentOS的目录结构:

以下是对根目录下每个目录的简单解释:
/:根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中
/bin:/usr/bin: 可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等
/boot:放置linux系统启动时用到的一些文件。/boot/vmlinuz为linux的内核文件,以及/boot/gurb。建议单独分区,分区大小100M即可
/dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱mount /dev/cdrom /mnt
/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有/etc/inittab、/etc/gateways、/etc/resolv.conf、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。注:/etc/X11存放与x windows有关的设置
/home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,表示当前用户的家目录,test表示用户test的家目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据
/lib:/lib64:/usr/lib:/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为/lib/modules
/lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下,通常这个目录会自动出现在装置目录下。如加载硬盘于/disk 中,此目录下就会自动产生目录/disk/lost+found
/mnt:/media:光盘默认挂载点,通常光盘挂载于/mnt/cdrom下,也不一定,可以选择任意位置进行挂载
/opt:给主机额外安装软件所摆放的目录。如:FC4使用的Fedora 社群开发软件,如果想要自行安装新的KDE桌面软件,可以将该软件安装在该目录下。以前的Linux系统中,习惯放置在 /usr/local目录下option
/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等process
/root:系统管理员root的家目录,系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下
/sbin:/usr/sbin:/usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount等。与/bin不同的是,这几个目录是给系统管理员root使用的命令,一般用户只能"查看"而不能设置和使用。
/selinux:selinux软件目录,用于保证系统安全
/srv:服务启动之后需要访问的数据目录,如www服务需要访问的网页数据存放在/srv/www内service
/sys:类似于/proc的特殊文件系统,存放内核数据信息
/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下
/usr:应用程序存放目录,
/usr/bin 存放应用程序
/usr/share 存放共享数据
/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件
/usr/local:存放软件升级包
/usr/share/doc: 系统说明文件存放目录
/usr/share/man: 程序说明文件存放目录,使用man ls时会查询/usr/share/man/man1/ls.1.gz的内容建议单独分区,设置较大的磁盘空间
usr:user share resources/unix share resouces
/var:放置系统执行过程中经常变化的文件,如:
/var/log:随时更改的日志文件
/var/log/message:所有的登录文件存放目录
/var/spool/mail:邮件存放的目录
/var/run:程序或服务启动
使用建议:
1、用户应该将文件存储在自己的主目录及其子目录下
2、系统绝大多数设置都在/etc目录下
3、不要修改/或者/usr目录下的任何内容,除非你真的清楚你在做什么,也就是说/目录最好和安装好系统之初保持一致
4、大多数工具和应用软件程序都安装在/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin
5、文件或者目录都有唯一的绝对路径,没有盘符的概念

Linux命令终端
在桌面空白处,点击鼠标右键,在下拉菜单选项中,选择Open in Terminal,然后出现右下图对话框,这个对话框就是命令终端

这个命令提示符是可以改变的。通过PS1系统变量改变,比如:
先查看PS1变量的结果值:
echo $PS1

[\u@\h \W]$
\u:用户名,\h:主机名,\w:工作目录,$:用户表示,root是$,普通用户是#
然后更改该值:
PS1="[\t][\u@\h \W]$ "
这是Linux定义变量的方式
接下来命令提示符就会变成:
[11:48:45][hadoop@hadoop01 user]$

Linux的命令格式:命令 [命令选项] [命令参数]
注意:三者之间要空格隔开,其中命令选项分为长格式和短格式。
短格式用’-'表示,比如:-l,
长格式用"–"表示,比如:–help,
也可以使用组合格式,比如:-a -l 等价于-la或者-al

Linux的命令提示符:
#:管理员用户
$:普通用户

Linux以回车键表示命令结束,如果linux命令需要折行输入,那么可以以\表示每行结束
常用命令归纳分类
文件管理 mkdir, rmdir, mv, rm, cp, touch, cat, tac, echo, more, less, head, tail, file, find, rename, ln, pwd, scp, alias
磁盘管理 ls, cd, du, df, mount, unmounts, fdisk
文档处理 wc, sort, uniq, cut, sed, awk, grep, vi, diff
用户和组 useradd, usermod, passwd, userdel, groupadd, groupdel, chgrp, su
文件传输 get, put, wget
网络通信 telnet, nc, ifconfig, ping, netstat, ip, host
备份压缩 gzip, bzip2, bunzip2, tar, zip
系统管理 exit, kill, last, ps, top, free, pstree, reboot, halt, shutdown, sudo, who, w, whoami, whereis, which, last, whatis
系统设置 clear, set, unset, hwclock, time, date,
其他 history, hostname, nohup, service, init, rpm, ssh, cal, yum

三个网站:
http://man.linuxde.net/
http://www.jb51.net/linux/
https://jaywcjlove.github.io/linux-command/

常用文件系统命令详解
磁盘管理:
cd
change directory 常使用方式:
cd sourcedir 进入用户主目录
cd ~ 进入用户主目录
cd - 返回进入此目录之前所在的目录
cd … 返回上级目录(若当前目录为"/",则执行完后还在"/";"…"为上级目录的意思)
cd …/… 返回上两级目录
pwd
print working directory pwd 显示当前工作目录
ls
list:显示目录内容列表 使用格式:ls [选项]… [目录或文件名]

常用选项
-l:详细信息显示
-a:显示所有子目录和文件的信息,包括隐藏文件
-A:类似于“-a”,但不显示“.”和“…”目录的信息
-R:递归显示内容
-h:以友好方式显示文件大小

例子:
ls -l ## 列出文件详细信息, 也可以写作 ll
ls -lah ## 以友好方式显示包括隐藏文件的详细信息
du
disk usage:显示每个文件和目录的磁盘使用空间 使用格式:du [选项]… [目录或文件名]

常用选项:
-a:统计时包括所有的文件,而不仅仅只统计目录
-h:以更易读的字节单位(K、M等)显示信息
-s:只统计每个参数所占用空间总的大小

例子:
du -ah ##
df
disk free:显示磁盘相关信息 常用选项:
-h:以更易读的字节单位(K、M等)显示信息
-T:显示分区格式

例子:
df -h ## 显示磁盘信息,以友好方式
df -T -h ## 以友好格式显示磁盘信息,并且附加磁盘格式

文件管理:
touch
创建空文件
或更新文件时间标记 使用格式:
touch 文件名
file
查看文件类型 使用格式:
file 文件名

根据文件内容格式判断文件类型。而不是根据后缀名
mkdir
创建文件夹
make directory 使用格式:mkdir [选项] [参数]

常用选项:
-p:以级联的方式创建文件夹

例子:
mkdir -p /root/ma/niu/zhu/dagou ## 上级目录不存在自动创建上一级目录,常用
cp
复制文件 使用格式:
cp [选项] 源文件或目录… 目标文件或目录

常用选项:
-r:递归复制整个目录树
-p:保持源文件的属性不变
-f:强制覆盖目标同名文件或目录
-i:需要覆盖文件或目录时进行提醒
rm
删除文件或目录 使用格式:rm [选项] 文件或目录

常用选项:
-f:强行删除文件或目录,不进行提醒
-i:删除文件或目录时提醒用户确认
-r:递归删除整个目录树

例子:
rm -rf /root/ma/ ## 不提醒递归删除整个目录,慎用慎用慎用
mv
移动文件
如果与源文件位置一样,则相当于重命名 使用格式:
mv [选项]… 源文件或目录… 目标文件或目录

常用选项:
-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作
rmdir
删除空文件夹 常用选项:
-p或–parents:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除;
rmdir -p /root/aa/bb/cc/dd/ee
删除文件夹ee,如果删除ee后,dd变为空,则删除dd,依次类推
cat
连接文件并打印到标准输出设备上 常用选项:
-n或–number:由1开始对所有输出的行数编号

cat /home/hadoop/data.txt ## 查看文件内容
tac
倒序输出文件内容 tac /home/hadoop/data.txt
echo
输出指定的字符串或者变量 常用选项:
-e:若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;

例子:
echo ‘ma’ ## 输出ma
echo -e ‘ma\n’ ## 打印ma之后换行
echo -ne ‘ma’ ‘zhonghua’ ## 打印完不换行

echo ‘ma’ > ma.dat ## 覆盖
echo ‘ma’ >> ma.dat ## 追加
echo $PWD ## 输出变量内容
head
在屏幕上显示指定文件的开头若干行
默认显示10行 常用选项:
-n<数字>:指定显示头部内容的行数;

例子:
head -n 5 install.log ## 显示该文件前五行内容
tail
在屏幕上显示指定文件的末尾若干行 常用选项:
-f:显示文件最新追加的内容

例子:
tail file ## 显示文件file的最后10行
tail +20 file ## 显示文件file的内容,从第20行至文件末尾
tail -c 10 file ## 显示文件file的最后10个字符
tail -f install.log ## 显示最新追加的内容
more
显示文件内容,每次显示一屏 使用方式:
按Space键:显示文本的下一屏内容。
按Enter键:只显示文本的下一行内容。
按h键:显示帮助屏,该屏上有相关的帮助信息。
按b键:显示上一屏内容。
按q键:退出more命令。
less
分屏上下翻页浏览文件内容 和more使用方式基本类似
按e键:向上滚动一行
按y键:向下滚动一行
G:跳到文件末尾
gg:跳到文件首行
ln
用来为文件创建连接
软链接 -s 和 硬链接 ln /mnt/cdrom1 /var/www/html/centos/ ##硬链接
ln -s /mnt/cdrom2 /var/www/html/centos/ ##软链接-符号链接
alias
别名 查看别名:alias
定义别名:alias la=‘ll -a’
取消别名:unalias la

其他有用:
man:显示命令帮助信息
clear:清屏,或者按ctrl + l也行
ctrl + c:退出当前进程
ctrl + z:挂起当前前台进程
whatis:命令是什么
whereis:在标准路径下搜索与名称相关的文件,whereis将所有搜索到的文件都显示
which:which在设定的搜索路径下进行目录搜索,只显示搜索到的第一个文件
su:切换用户
history:显示历史命令
hostname:显示主机名
set:查看系统变量
get:下载文件
put:上传文件
sudo:以root用户权限执行一次命令
exit:退出登录状态
w:显示当前连接的用户
who:显示当前会话信息
uptime:查看系统运行时间

使用小技巧
ctrl + u:清除光标前的命令,相当于剪切
ctrl + k:清除光标后的命令,相当于剪切
ctrl + y:粘贴
ctrl + t:把光标前面的那个字符往后挪动一位
ctrl + l:清屏
!!:执行上一次命令
!$:上个命令的最后一个单词
ctrl + w:删除光标前一个单词
cd data; cat sed.txt:表示先执行cd,然后执行cat,工作目录会切换
(cd data; cat sed.txt):跟上个命令相比,不切换工作目录
|:管道符,表示把前面命令内容的输出当做后面命令的输入
>:表示内容覆盖
>>:表示内容追加

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值