1.Linux终端Termial常识
①命令行提示符
- l Alex表示当前用户的名字,在Linux中可以有多个用户。
- l @前面是用户名,后面是所在的域。
- l localhost是电脑/主机的名字。也就是主机名(hostname)。
- l ~表示当前所在目录的名字,会随着用户进入不同的目录而改变,~为当前用户家目录。
- l $指示你所具有的权限。
Linux中有两种表示权限的字符:
1. $:表示普通用户,有权限的限制
2. #:表示超级用户,root用户
②查询当前用户和主机名
whoami:查询当前用户
hostname:查询当前主机名
③Linux命令行参数
Linux中一个基础的命令可以附带一个或多个参数,参数可以是长参数的形式,也可以是短参数的形式。
短参数(一个字母)
- 最常用的参数形式就是一个短横线后接一个字母:command –p
- 一次加好几个短参数,可以用空格隔开:command –p -a -T -c
- 多个短参数也可以合并在一起:command -paTc
- 字母的大小写是有区别的,大写的T和小写的t通常含义不同
长参数(多个字母)
- 长参数是以两个短横线开始的。格式:command --parameter
- 多个长参数不能像短参数那样合并一起写,只能以空格隔开:command --parameter1 --parameter2
- 可以组合使用短参数和长参数,格式:command -paTc --parameter1 --parameter2
- 有一些参数需要赋值。短参数和长参数的赋值方式不一样。短参数赋值:command -p 10;长参数赋值:command --parameter=10
④实用快捷键
- Ctrl + R:用于查找使用过的命令
- Ctrl + L:用于清理终端的内容,清屏。同clear命令。
- Ctrl + D:给终端传递EOF(End Of File,文件结束符)
- Ctrl + A:光标跳到一行命令的开头。Home键有相同的效果。
- Ctrl + E:光标跳到一行命令的结尾。End键有相同的效果。
- Ctrl + U:删除所有在光标左侧的命令字符
- Ctrl + K:删除所有在光标右侧的命令字符
- Ctrl + W:删除光标左侧的一个“单词
- 浏览文本或显示命令行界面:空格键—下一页 回车键—下一行 q键—退出列表
⑤三种切换回家目录方式
- cd/home/Alex Alex可以替换成你的用户名
- cd ~
- cd 不加任何参数
2.Linux中常用命令
2.1. date命令
- date是“日期”的意思,用于显示当前时间。
2.2. ls命令
- ls是list的缩写。List是“列举、列出”的意思。
- ls命令用于列出当前目录下的目录的文件的目录。
常用参数搭配:
- ls -a /ls --all:列出目录所有文件,包含以.开始的隐藏文件
- ls -A:列出目录下的所有文件,排除.当前目录和..上一级目录
- ls -l:列出一个显示文件和目录的详细信息列表
- ls -h:以Ko,Mo,Go的形式显示文件大小
- ls -t:按文件或目录最近一次修改时间的降序排序
2.3. pwd命令
- pwd是显示当前目录的路径,Print Working Directory(“打印当前工作目录”)
- 使用which pwd,可以显示pwd这个可执行程序位于/usr/bin目录中
2.4.cd命令
- cd是英语change directory的缩写,表示“切换目录”
- cd后面接目录的目录,不需要加.
- cd ..表示回到上一级目录
2.5.du命令
- 显示目录包含的文件大小,可以让我们知道文件和目录所占空间大小
- 相比与ls – l命令,du命令会深入遍历每个目录的子目录,统计所有文件的大小
常用参数搭配:
- du -h:以Ko,Mo,Go的形式显示文件大小
- du -a:默认情况下,du命令只显示目录的大小,如果加上-a参数,则会显示目录和文件的大小
- du -s:只显示总计大小,一般和h连用,du -sh
2.6.cat命令
- cat是concatenate的缩写,表示“连接/串联”
- 用于一次性显示文件的所有内容,用法:在命令后加上想要显示的文件路径即可
- 适用于显示比较小的文件
常用参数搭配:
- cat -n 文件名 一次性显示当前文件名并用行号标识
- cat -n 文件名1 文件名2 将文件名1、文件名2合并进行显示行号输出
2.7.less命令
- less命令用于分页显示文件内容,一页一页显示,这是与cat命令最大的区别
- 用法和cat命令一样,也是在命令后加文件路径即可
- less命令读取文件的内容,占当前一个屏幕的大小
读取内容常用快捷键:
- 空格键:文件内容读取下一个终端屏幕的行数,相当于前进一个屏幕(页),与键盘中的PageDown(下一页)效果一样
- 回车键:文件内容读取下一行,相当于前进一行,与键盘中的↓效果一样
- d键:前进半页(半个屏幕)
- b键:后退一页,与键盘上的PageUp(上一页)效果一样
- y键:后退一行,与键盘上的向上键效果一样
- u键:后退半页(半个屏幕)
- q键:停止读取文件,终止less命令
2.8.head/tail命令
- head命令用于显示文件的开头,默认显示文件的头10行
常用参数:
- head -n:指定显示的行数,显示n行
- tail命令用于显示文件的结尾,默认显示文件的尾10行
常用参数搭配:
- tail -n:指定显示的行数,显示n行
- tail -f:实时追踪文件的更新,可以使用Ctrl + C来终止;默认tail -f会每过1秒检查一下文件是否有新内容,可以指定间隔检查的秒数,用-s参数:tail -f -s 4 XXX
2.9.touch命令
- 用于创建一个空白文件
- 如果touch命令后面跟着的文件名是不存在的文件,它会新建一个
2.10.mkdir命令
- 用于创建一个目录
常用参数搭配:
- mkdir -p:递归创建目录结构,mkdir -p one/two/three
2.11.cp命令
- 用于拷贝文件或目录
- 使用方式:
用于拷贝文件
- 拷贝之前创建的文件:copy new_file new_file_copy,其中第一个new_file是已经存在的文件,第二个new_file_copy是需要创建的文件
- 拷贝文件到其它目录(文件名不变):cp new_file 目录名/,将new_file文件拷贝到目录下,并且文件名不改变
- 拷贝文件到其它目录(文件名改变):cp new_file 目录名/new_file_copy,将new_file文件拷贝到目录下,并且重命名为new_file_copy
用于拷贝目录
- cp -r/cp -R:拷贝目录,目录中的所有内容(子目录和文件)都会被拷贝
- cp *.txt folder:把当前目录下所有的txt文件拷贝到folder目录中
- cp ha* folder:把当前目录以ha开头的文件都拷贝到folder目录中
2.12.mv命令
- mv是英语move的缩写,表示“移动”。
- mv命令有两个功能:移动文件(或目录)、重命名文件(或目录)
- mv与cp命令用法类似,但是不会像mv命令去复制当前的文件。而mv命令是单纯的移动,并不会制作副本
- 使用方式
用于移动文件/目录
- mv new_file one:将new_file这个文件移动到one目录
- mv folder one:将folder目录(包括子目录和文件)移动到one目录
- mv命令同样支持通配符操作
用于重命名文件
- mv new_file renamed_file:将new_file重命名为renamed_file
2.13.rm命令
- rm命令用于删除文件和目录
- rm new_file_copy:删除当前目录中文件名为new_file_copy的这个文件
- 可以同时删除多个文件,只要用空格隔开每个文件即可,如:rm file1 file2 file3
常用参数搭配:
- rm -i:向用户确认是否删除,这样对于每一个要删除的文件,终端都会询问我们是否确认删除
- rm -f:慎用,不会询问是否删除,强制删除
- rm -r:递归删除文件,包含目录中的子目录和所有文件
- rm -rf/rm -rf/*:极为危险,当使用管理员root用户去执行这条命令
2.14.sudo命令
- sudo命令:暂时成为root用户,可以使用sudo这个命令暂时成为root,使在普通用户权限的情况下去执行root用户才有的命令
- sudo su命令:一直成为root用户
2.15.locate命令
- locate命令用于快速查找,这个命令用于定位要查找的文件,而且此命令很快
- 用法:后接需要查找的文件名,也可以用正则表达式
- locate命令作用其实是搜索包含关键字的所有文件和目录
- locate命令不会对你的实际的整个硬盘进行查找,而是在文件数据库中进行查找记录,对于刚创建不久的文件,未被收录进文件数据库,locate命令找不到其索引,则不会返回任何结果
- 如果要强制追踪查找最新创建的文件,需要使用:sudo updatedb更新数据库
2.16.find命令
- find命令是查找文件的利器,它可以让我们对每个找到的文件做后续的操作
- 与locate命令不同,find命令不会在文件数据库中查找文件的记录,而是会遍历你的实际硬盘上的文件
- find命令用法:find 《何处》 《何物》 《做什么》,《何物》是必须指定的,也就是要查找什么
参数详解:
- 《何处》:指定在哪个目录中查找,此目录的所有子目录也会被查找,find命令可以限定查找目录。默认如果没有给出《何处》参数,会默认在当前目录及其子目录中查找
- 《何物》:查找的文件,可以根据文件名、大小、最近访问时间来查找
- 《做什么》:对find找到的文件做一定的操作。默认地,假如不指定这个参数,find命令只会显示找到的文件
常用参数搭配:
按文件名查找
- find -name “new_file”:使用-name参数指定了文件名字,是new_file
- find /var/log -name “syslog”:其中/var/log是文件路径,表示在/var/log目录下找到syslog文件
按文件大小查找
- find /var -size + 10M:使用-size参数指定文件大小,后面紧跟的+10M表示大于10M字节;如果使用”-”表示小于;如果没有加减号,则表示查找大小等于指定数值的文件
- find -name “*.txt” -atime -7:根据文件的最近访问时间进行查找,使用-atime参数;-atime参数后面紧跟的-7表示7天之内,减号的作用是表示小于
按文件类型查找
- -type参数来指定查找的文件类型,其中-type d表示只查找目录类型,d是directory的首字母,表示“目录”;-type f表示只查找文件类型,f是file的首字母,表示“文件”;如果不使用-type参数指定类型,find命令默认是查找目录和文件的
- -printf参数用来格式化打印查找到的内容,比如:find -name “.*txt” -printf “%p - %u\n”,其中%p是文件名,-就是一个短横,%u就是文件的所有者
- -delete参数用于删除查找到的文件,比如find -name “*.jpg” -delete,会删除当前目录及其子目录下所有以.jpg为后缀的文件,不会有确认提示
- -exec参数后可以接一个命令,对每个查找到的文件进行操作