1.显示当前工作目录的绝对路径
pwd
2.显示当前工作目录下的子目录和文件
ls [-l] [-h] [-a]
如果只调用ls,子目录和文件会简单的罗列出来,-l表示将其以详细列表的形式展示,-h表示以适合人阅读的格式显示,-a表示同时显示隐藏目录或文件,即以点(.)开头的,例如/root/.ssh
3.切换工作目录
cd [path]
其中,path为要切换到的目标目录,可以使用绝对路径或相对路径。path为空或~时,表示切换到当前登录用户的家目录;path为两个点(..)时,表示切换到当前目录的上一级目录。下面是一个应用示例
如图,假设当前目录在opt,现在想切换到rpm,
使用绝对路径:cd /usr/lib/rpm;
使用相对路径:cd ../../usr/lib/rpm。
4.创建目录
mkdir [-p] path
其中,path为要创建的目录,可以使用绝对路径(以/开头)或相对路径;-p是指创建多级目录。例如,要在当前目录下创建/animal/dog目录,如果只输入mkdir animal/dog,则会返回错误提示:无法创建目录,没有那个文件或目录。原因是当前目录下根本没有/animal这一级目录,现在相当于要一次性创建两级目录,因此要使用mkdir -p animal/dog。注意这时不能用mkdir -p /animal/dog,因为这是绝对路径,意思是要在根目录下创建这两级目录。
5.删除空目录
rmdir path
其中path为要删除的目录,这个命令只能删除空目录,即下面没有子目录和文件;第二个命令可以删除空或非空的目录。
6.删除文件或目录
rm [-r] [-f] source
其中source为要删除的文件或目录,当其为目录时,必须加-r。-f的意思是强制删除不提示。
7.创建空文件
touch file1 [file2 file3 ...]
其中file1为文件名,该命令支持一次性创建多个文件,文件名中间以空格( )间隔。例如,touch hello.txt abc.txt,即在当前目录下创建了两个空文件。
8.复制文件或目录
cp [-r] source dest
其中,source为要复制的文件或目录,当其为目录时,需要加-r,表示"递归复制整个目录",当其为文件时,不需要加-r,加了也没有效果;desc为要复制到的目标目录,可以使用绝对路径或相对路径。例如,现在要将当前目录下的/document/aaa.txt复制到当前目录下的/file目录下,可以使用cp document/aaa.txt file;而如果想要将当前目录下的/document目录整个复制到/file目录下,需要使用cp -r document file。
9.移动文件或目录,重命名
mv source dest
这个命令有两个作用:移动、重命名。
当用作移动时,source为要移动的文件或目录,dest为目标目录;
当用作重命名时,source和dest要么都是文件,要么都是目录,而且是同一个位置。
10.打开文件
cat [-n] file [|more]
其中,file为要打开的文件。这个命令跟vim的区别是,以只读方式打开文件,不能编辑 。-n的意思是显示行号;|more的意思是分页显示,回车键往下翻一行,空格键往下翻一页,q键退出。
more file
其中,file为要打开的文件。这个命令会以全屏分页的方式显示文件,回车翻一行,空格翻一页,q键退出。
less file
其中,file为要打开的文件。这个命令跟more很相似,区别是不会一次性加载整个文件,而是每次加载要显示的部分,空格翻页,q键退出。
11.输出内容到控制台
echo content
其中,content是要输出的内容;特别的,当content=$PATH时,会输出linux的环境变量。
12.覆盖文件或追加内容
>:用内容覆盖文件,即替代文件原来的内容
>>:保留文件原来的内容,将内容追加到文件末尾
这两个符号通常跟别的命令合用,以确定上面所说的"内容",例如:
ls -l > file
ls -l >> file
其中,file为文件,这个命令会将当前目录下的文件以列表的形式写到文件中;
cat source > file
cat source >> file
其中,source为源文件,file为目标文件,这个命令会将source文件的内容写到file文件中。
echo content > file
echo content >> file
其中,source为内容,file为目标文件,这个命令会将content写到文件中。
这两个符号还可以跟其他的命令合用,总之就是用前面的命令产生"内容",然后用内容替代文件或追加到文件末尾。
13.显示文件开头
head [-n number] file
其中,number为显示的行数,file为要显示的文件,如果不加-n选项,则默认显示前10行。
14.显示文件末尾
tail [-n number] file
其中,number为显示的行数,file为要显示的文件,如果不加-n选项,则默认显示末尾10行。
15.监控文件
tail -f file
其中,file为要监控的文件,当该文件有最新更新时,会实时显示,ctrl+c退出。
16.创建快捷方式
ln -s target name
其中,target为快捷方式要指向的文件或目录,name为快捷方式名称。例如,在当前用户的家目录下要建立到/etc/X11/applnk目录的快捷方式,则使用命令:ln -s /etc/X11/applnk query,然后cd query,就进入到指定目录下。要删除快捷方式,按照删除文件或目录的方式即可,即调用rm命令。
17.查找文件或目录
find path -name name
按名称查找,其中path为查找范围目录,name为文件或目录的名称,可以使用通配符,例如*.txt,hello.*。
find path -size capacity
按大小查找,其中path为查找范围目录,capacity为容量,例如+20M表示超过20M,-100k为小于100k。
find path -user username
按所属用户查找,其中path为查找范围目录,username为用户名。
find path -mtime dayNum
按最后修改时间查找,其中path为查找范围目录,dayNum为天数(前面用-表示x天内,前面用+表示x天以上),例如
find /home/dubhlinn -mtime -7 查找指定目录下7天内修改的文件
find /home/dubhlinn -mtime +30 查找指定目录下一个月前修改的文件
18.在文件中查找内容
grep [-n] [-i] content file
其中,content为要查找的内容,file为文件,-n表示显示行号,-i表示忽略大小写。例如,要在当前目录的aaa.txt文件中查找may,显示行号且忽略大小写,调用命令:grep -ni may aaa.txt。
另外,grep命令经常跟管道符合用,例如:
cat file | grep [-n] [-i] content
管道符的作用是将第一个命令的处理结果,作为第二个命令的参数。
19.压缩、解压缩
(1) gz格式
gzip [-r] source
gunzip [-r] depressed
其中,source为源文件或目录,depressed为压缩后的.gz文件或者含有.gz文件的目录,如果参数为目录,需要加-r。这两个命令会直接替换源文件而不保留原文件,例如gzip hello.txt,会直接将当前目录下的hello.txt替换为hello.txt.gz,反之gunzip hello.txt.gz会直接将当前目录下的hello.txt.gz替换为hello.txt。
(2) zip格式
zip [-r] depressed source
unzip [-d target] depressed
其中,depressed为.zip格式的压缩文件,source为源文件或目录,当其为目录时需要加-r;target为要解压到的位置,如果不写-d选项会默认解压到当前目录下。注意,如果要压缩一个目录,却不写-r选项,也可以压缩成功,但只是压缩了空文件夹,没有包含其中的内容。
(3) tar.gz格式
tar -zcvf depressed source
tar -zxvf depressed [-C target]
其中,source为源文件或目录,depressed为.tar.gz格式的压缩文件,target为要解压到的位置,如果不写-C选项默认为解压到当前目录下。-z表示打包同时压缩,-v表示显示详细信息,-f表示指定压缩后的文件名,一般-zcvf联合使用表示压缩,-zxvf联合使用表示解压缩。
20. 常用目录的意义
在linux根目录下,有很多已经创建的一级子目录,有些子目录有特定的意义。
/bin:存放常用命令,例如cat、ls、cd、cp等;
/boot:存放启动系统的核心文件;
/library:存放系统的动态连接库,供应用程序使用;
/etc:存放用户和组管理的文件;
/mnt:用于临时挂接别的文件系统;
/sbin:存放系统管理员专用的命令;
/usr:存放应用程序,用户自己用到的软件一般安装在/usr/local目录下;
/var:存放一些经常变化的内容,例如日志;
/lost+found:平时为空,当系统不正常关闭时,用于存放找不到合适位置的文件;
/home:存放一般用户的家目录,例如dubhlinn用户的家目录一般在/home/dubhlinn;
/dev:存放硬件设备;
/opt:第三方软件安装时默认选择该目录。