LINUX基础命令
文件管理命令
1. ls 命令
英文原意:list directory contents
功能描述:用来显示指定目录内的文件列表,可通过选项控制显示内容的详细程度和颜色高亮等
所在路径:/bin/ls
命令格式:ls [OPTION]… [FILE]…
常用选项:
-a:显示指定目录内的所有内容(包含隐藏文件和特殊目录)
-l:显示每一个文件的详细信息(权限、所有者、所属组、修改时间等),可缩写为ll
-h:显示文件大小时,使用最合适的单位显示(例:4万万 ==> 4亿),常以-lh形式出现
-d:用来显示目录本身信息,而不显示目录内的文件列表,常以-ld形式出现
-i:显示文件索引节点号(inode),每个文件都拥有一个独一无二的索引节点号
索引节点号(inode号):
每一个文件除了文件内的数据外,还有文件本身的一些数据需要保存,比如:文件的创建者、创建时间、文件大小等,此类信息我们统称为“元数据”,操作系统为每一个文件都单独创建了一块区域用来存储文件的元数据,并且在同一个分区内为每一个文件分配了一个独一无二的ID号码(即inode号)
[root@localhost ~]# ls -l
总用量 44
-rw-------. 1 root root 1245 1月 1 2020 anaconda-ks.cfg
-rw-r–r--. 1 root root 28250 1月 1 2020 install.log
-rw-r–r--. 1 root root 7572 1月 1 2020 install.log.syslog
第一列:类型和文件权限(下面章节详细讲)
第二列:引用计数,文本类文件的数值代表该文件有n-1个硬链接;目录文件的数值代表该目录下有多少个子目录数量
第三列:文件所有者(属主),文件属于哪个用户所有,默认情况谁创建的文件就属于谁
第四列:文件所属组(属组),一般情况下,该组是文件创建者所在的组
第五列:文件大小,默认以字节为单位显示,可使用-h选项显示为最合适单位
第六列:文件最后一次修改时间(内容修改时间)
第七列:文件名
结尾的.:这个点代表被SELinux所标记的文件,一般是在SELinux开启时所创建的文件
\2. cd 命令
英文原意:Change the shell working directory
功能描述:切换到指定的目录下
所在路径:属于shell内置命令,没有路径
命令格式:cd DIRECTORY…
-
特殊目录 作用
-
切换到当前所在用户的家目录下
-
切换到刚才所在目录
. 当前目录
… 切换到上一级目录(父目录)
\3. pwd 命令
英文原意:print name of current/working directory
功能描述:显示当前所在路径
所在路径:/bin/pwd
[root@localhost network-scripts]# pwd
/etc/sysconfig/network-scripts
\4. mkdir 命令
英文原意:make directories
功能描述:创建目录
所在路径:/bin/mkdir
命令格式:mkdir [OPTION]… DIRECTORY…
常用选项:
-p:递归创建多级目录
[root@localhost ~]# mkdir /data/text/
mkdir: 无法创建目录"/data/text/": 没有那个文件或目录
[root@localhost ~]#
[root@localhost ~]# mkdir -p /data/text/
\5. rm 命令
英文原意:remove files or directories
功能描述:删除指定文件或者目录
所在路径:/bin/rm
命令格式:rm [OPTION]… FILE…
常用选项:
-i:删除已有文件或目录之前先询问用户
-f:不询问,强制删除
-r:递归处理,将指定目录下的所有文件与子目录一并处理
近义词命令:rmdir 删除指定的空目录
\6. touch 命令
英文原意:change file timestamps
功能描述:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件
所在路径:/bin/touch
命令格式:touch [OPTION]… FILE…
常用选项:相关选项都是对文件时间进行修改的,此处不做讲解
\7. stat 命令
英文原意:display file or file system status
功能描述:用于显示文件的状态信息。stat命令的输出信息比ls命令的输出信息要更详细
所在路径:/usr/bin/stat
命令格式:stat [OPTION]… FILE…
常用选项:
-f:不再显示指定文件的详细信息,而是显示该文件所在文件系统的信息(文件系统类型、Block数量、Inode数量等)
[root@localhost ~]# ls -l
总用量 44
-rw-------. 1 root root 1245 1月 1 2020 anaconda-ks.cfg
-rw-r–r--. 1 root root 28250 1月 1 2020 install.log
-rw-r–r--. 1 root root 7572 1月 1 2020 install.log.syslog
---------------------------------------------------------------------------------
[root@localhost ~]# stat install.log
File: “install.log”
Size: 28250 Blocks: 64 IO Block: 4096 普通文件
Device: 803h/2051d Inode: 262148 Links: 1
Access: (0644/-rw-r–r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2020-01-01 22:52:00.643999989 +0800 #访问时间
Modify: 2020-01-01 23:00:00.507999787 +0800 #内容修改时间
Change: 2020-01-01 23:00:34.067999794 +0800 #属性修改时间(权限和归属)
---------------------------------------------------------------------------------
[root@localhost ~]# stat -f install.log
File: “install.log”
ID: d2925608e3c65ff3 Namelen: 255 Type: ext2/ext3
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 4573121 Free: 4038984 Available: 3805013
Inodes: Total: 1171456 Free: 1103020
注意:Free和Available都是可用的意思,但是有所区别,Free当中有一部分需要充当缓存空间,虽然现在不用但是已经被预定出去了,所以对于程序来说Available才是真正可用的数量。
\8. cat 命令
英文原意:concatenate files and print on the standard output
功能描述:连接文件并打印到标准输出设备上,cat经常用来显示文件的内容(内容大于1页的仅显示最后一页:自动滚屏)
所在路径:/bin/cat
命令格式:cat [OPTION]… [FILE]…
常用选项:
-n:为每一行内容进行编号(从1开始)
-b:类似于-n,会主动忽略掉空白行(显示但不为其编号)
\9. more 命令
英文原意:file perusal filter for crt viewing
功能描述:一个文本过滤器,以全屏分页的方式显示文本内容,可以使用内置按键控制显示内容
所在路径:/bin/more
命令格式:more [FILE]…
空格space:向下翻页
回车enter:向下翻行
b:向上翻页
q:退出文本
\10. less 命令
英文原意:opposite of more
功能描述:作用与more相似,都是用来浏览文本内容的
所在路径:/usr/bin/less
命令格式:less [OPTION]… [FILE]…
常用选项:
-N:显示文本内容并显示行号
命令对比:more和less很相似,都是用来进行分屏/分页显示文本内容的,但是less要比more多一些交互按钮,以下是less模式下的一些交互按钮功能
交互按钮 功能
PageUp(PaUp) & b 向上翻页
PageDown(PaDn) & 空格 向下翻页
Enter 向下换行(每次只新增一行显示)
/关键词 用于在less模式中进行关键词查询,并高亮显示关键词 使用n和N快速向下向上定位到每一个关键词
q 退出less模式
\11. head 命令
英文原意:output the first part of files
功能描述:显示指定文件的开头内容(默认显示前10行)
所在路径:/usr/bin/head
命令格式:head [OPTION]… [FILE]…
常用选项:
o-n:显示指定文件的前n行(n换成数字)
\12. tail 命令
英文原意:output the last part of files
功能描述:显示指定文件的结尾内容(默认显示后10行)
所在路径:/usr/bin/tail
命令格式:tail [OPTION]… [FILE]…
常用选项:
-n:显示指定文件的后n行
-f:显示文件最后10行,并且对文件处于监听状态,实时更新和通知文件尾部的变化(tailf = tail -f)
\13. cp 命令
英文原意:copy files and directories
功能描述:将一个或多个源文件复制到指定位置,默认情况下保留源文件名称,也可以改名
所在路径:/bin/cp
命令格式:cp [OPTION]… SOURCE DEST
常用选项:
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录
-p:复制文件时,保留源文件的属性
-r:递归处理,复制时将指定目录下的所有文件和子目录,子文件全部复制到指定位置
-a:相当于-dpr的集合,拥有三个选项的所有功能
\14. mv 命令
英文原意:move (rename) files
功能描述:将指定文件移动(剪切)到指定目标位置,默认情况下保留源文件名称,也可以改名
所在路径:/bin/mv
命令格式:mv [OPTION]… SOURCE DEST
常用选项:
-b:在进行文件移动时,若目标位置有同名文件存在,则将同名文件备份(备份文件名结尾有~标识)
可以直接使用y回答,提示虽然是覆盖,但会自动创建备份文件
拓展:rm、cp、mv命令的相同选项
-i:该选项的作用是在对文件操作时是否询问用户
-f:该选项的作用是在对文件操作时直接跳过询问用户的步骤
\15. ln 命令
英文原意:make links between files
功能描述:为指定文件创建软链接(符号链接)或者硬链接
所在路径:/bin/ln
命令格式:ln [OPTION]… SOURCE DEST
常用选项:
-s:为指定的源文件创建一个符号链接文件(软链接),不加“-s”则创建硬链接
注意:创建链接时,要使用绝对路径
[root@localhost ~]# ln -s /etc/sysconfig/network-scripts/ifcfg-ens33 /root/
符号链接和硬链接区别:
符号链接(软链接)特征:
源文件和软链接各自拥有不同的Inode号和Block块数
两个文件不管修改哪一个均可同步
删除源文件,软链接失效;删除软链接,源文件无影响
软链接文件大小不受源文件变化而影响,仅仅记录源文件的位置信息(Inode)
软链接文件权限为:rwxrwxrwx,但最终生效的权限以源文件为准
软链接既可以链接文件,也可以链接目录,并且可以跨分区创建
硬链接特征:
源文件和硬链接文件拥有相同的Inode号和Block块数(实际为同一个文件)
两个文件不管修改哪一个均可同步
无论删除哪一个,都互不影响
不能对目录创建硬链接,并且不能跨分区创建