1. pwd指令
显示当前工作目录的绝对路径
2. ls指令
列出当前目录或指定目录下的文件,
-a:列出所有文件,包含隐藏文件
-l:按列显示所有文件及各个文件详细信息
3. cd指令
cd ~或者cd 回到自己的家目录,比如你是用户hao,运行cd ~后回到/home/hao;如果你是root用户,运行cd ~后回到/root
cd .. 回到当前目录的上一级目录,比如当前目录是/home/hao,运行cd .. 就会到/home目录,再运行cd ..就会回到/目录即根目录
例子:比如当前目录为/home/hao,运行cd ../../root就可以到/root目录下,这就是使用相对路径进入/root目录
4. mkdir指令
创建目录,mkdir [选项] 目录名
选项
-p 创建多级目录
示例
mkdir /home/dog 在/home目录下创建一级目录,目录名为/dog
mkdir -p /home/animal/tiger 在/home目录下创建2级目录,/animal/tiger
5. rmdir
默认删除一个空目录,默认下不能删除有内容的目录。如rmdir /home/dog,删除成功因为/dog是一个空目录。rmdir /home/animal,删除失败因为/animal下有子目录/tiger,这种情况下应该用rm -rf命令删除。
6. rm
移除文件或者目录,rm [选项] 要删除的文件或者目录
-r 递归删除整个文件夹
-f 强制删除不提示
-rf 这个选项很危险,强制删除非空目录,rf意思为递归强制删除,删除前不会询问用户。如rm -rf /home/animal就会删除/animal目录及其下面所有内容。
7. touch
创建一个空文件,如touch hello.txt,再比如touch /home/hao/hi.txt就会在指定目录下创建空文件hi.txt。
8. cp
复制命令,命令格式 cp [选项] source destination
例如: cp hi.txt bbb 就是把当前目录下的hi.txt复制到当前目录的子目录bbb下。
-r 就是递归复制,就是把指定目录下的所有文件复制到指定目录下。
当source和dest的文件同名时,系统会询问是否覆盖,如果文件太多,一个一个询问很麻烦,可以用 \cp命令强制覆盖不询问。
9. mv
移动文件和目录,或者重命名
mv oldNameFile newNameFile 重命名
mv /temp/movefile /targetfolder 移动文件
当然也可以移动且重命名,那就是 mv /temp/movefile /targerfolder/newName,注意在移动的目标文件夹后面写了新的文件名,这样就可以移动且同时重命名。
移动目录及该目录下的所有文件时,直接用mv就行,没有也不需要选项。
10. cat
查看文件,cat [选项] 要查看的文件
cat指令只可以查看,不能修改,所以比vim更加安全。
-n 显示行号
例如 cat -n /etc/profile
cat -n /etc/profile | more 就可以进行交互,也就是显示文件开始的部分内容,然后按一下enter键就多显示一行,按一下空格键就翻下一页显示。这里 | 涉及到管道,后面再说。
11. more
more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。
例如more /etc/profile
交互快捷键:
空格键:向下翻一页
enter键:向下翻一行
q:立刻离开more,不再显示该文件内容
ctrl+f:向下滚动一屏
ctrl+b:返回上一屏
=:输出当前行号
:f :输出文件名和当前行号
12. less
与more类似,分屏查看文件内容。less命令是根据显示需要而加载部分内容,例如一个100M的txt文件,用vim或者more查看就需要全部加载到内存,而less只加载一部分内容进内存,因此less命令显示大文件效率更高。简而言之“边下边播”。
空格键:向下翻一页
pagedown:向下翻一页
pageup:向上翻一页
/xx:向下搜索xx,n继续向下查找,N向上查找
?xx:向上搜索xx,n继续向上查找,N向下查找
q:离开less
13. echo
输出内容到控制台 echo [选项] [输出内容]
例如 echo $PATH
例如 echo $HOSTNAME
echo "Hello world" 这个命令就会把Hello world显示在控制台
14. head
用于显示文件的开头部分内容,默认显示前10行。
例如 head /etc/profile 显示这个文件前10行内容
head -n 5 /etc/profile 显示文件前5行
15. tail
与head命令类似,tail显示文件末尾的内容。默认10行。
tail -n 5 /etc/profile 显示这个文件最后5行
tail有一个很常用的用法,就是 -f 跟踪查询某个文件的更新,这个-f是follow的意思。例如 tail -f /home/xxx.txt 命令执行后,就会进入跟踪状态,每当xxx.txt有修改,就会把修改的内容输出到控制台。
ctrl+c可以退出tail -f
16. > 和 >>
重定向,
例如echo "hello" > xxx.txt,这个就会把本来要输出到控制台的hello重定向输出到xxx.txt里了。
>是覆盖写,>>是在xxx.txt后面追加新内容。
例如,
ls -l > xxx.txt 列表的内容写入xxx.txt中
ls -al >> xxx.txt 列表的内容追加写入xxx.txt中
cat abc.txt > xxx.txt 将abc.txt的内容覆盖到xxx.txt中
echo "hello" >> xxx.txt 将hello追加写入xxx.txt中
17. ln
软链接,也称符号连接,类似Windows的快捷方式,只要存放了链接其他文件的路径。
ln -s [原文件或目录] [软链接名称] 给原文件创建一个软链接。
例如,
ln -s /root /home/myroot
就在/home下创建了一个名为myroot的软链接,软链接到/root目录,用cd myroot然后ll就会显示/root目录下的所有内容,相当于进入了/root目录。本质上是一种共享。注意cd myroot后再pwd,显示的仍然是myroot所在的路径,而不是myroot链接到的路径。
rm /home/myroot 就可以删除这个软链接。
18. history
查看已经执行过的历史指令,也可以执行历史指令。
例如:
history:显示执行过的所有历史指令
history 10:显示最近执行过的10条指令
!3:重新执行历史编号为3的指令