- 桌面打开终端
- 终结命令
- 翻页
- 查看历史记录
- 清屏
- 跳转
- 查看路径
- 切换目录
- 显示文件内容
- 创建文件和目录
- 拷贝文件和移动文件
- 删除文件和目录
- 变为root用户
- 修改访问权限
- 快速查找
- 深入查找
- 筛选数据
- 排序
- 文件的统计
- 显示目录文件的大小
- 删除文件中的重复内容
- 剪切文件的一部分内容
- 监视系统活动
桌面打开终端
control+alt+t
终结命令
命令 | 作用 | 备注 |
----|------
Ctrl + c | 终结终端的命令和正在执行的程序|
翻页
命令 | 作用 | 备注 |
----|------
shift + fn + ↑|向上翻页 | Mac上是fn + ↑
shift + fn + ↓ |下上翻页 | Mac上是fn + ↓
查看历史记录
命令 | 作用 | 备注 |
----|------
↑键 |按时间顺序向前查找用过的命令,每按一次就前进一个命令。 |
↓键 |按时间顺序向后查找用过的命令,每按一次就前进一个命令。 |
Ctrl + R |用于查找使用过的命令。 |
history |用于列出之前使用过的所有命令 |
清屏
命令 | 作用 | 备注 |
----|------
Ctrl + L|用于清理终端的内容,就是清屏的作用 |
跳转
命令 | 作用 | 备注 |
----|------
Ctrl + A |光标跳到一行命令的开头 |
Ctrl + E |光标跳到一行命令的结尾|
Ctrl + U |删除所有在光标左侧的命令字符。|
Ctrl + K |删除所有在光标右侧的命令字符。|
查看路径
命令 | 作用 | 备注 |
----|------
pwd|显示当前目录的路径 |
which|获取命令的可执行文件的位置 |which ls可以查看ls命令对应的可执行程序的地址
ls|列出当前目录下的文件和目录 |参数 -a:包括隐藏的内容;参数 -l:显示详细信息;参数-h:显示文件大小;参数 -t:按文件最近一次修改时间排序
-
Ubuntu的终端默认是有颜色标注的,一般来说:
- 蓝色 --> 目录
- 绿色 --> 可执行文件
- 红色 --> 压缩文件
- 浅蓝色 --> 链接文件
- 灰色 --> 其他文件
切换目录
命令 | 作用 | 备注 |
----|------
cd|切换目录 |回到根目录:cd / ;回到上一级:cd .. ; 连退2级:cd ../.. ;重回家目录:cd
显示文件内容
命令 | 作用 | 备注 | 使用
----|------
cat |一次性显示文件的所有内容|-n 参数在显示内容上加上行号|cat -n a.txt
less |分页显示文件内容|进入查看模式后q键退出|less a.txt
head |显示文件的开头|默认显示前10行,可以用-n参数制定|head -n 5 a.txt
rail|显示文件的结尾|默认显示尾10行,可以用-n参数制定|rail -n 5 a.txt
创建文件和目录
命令 | 作用 | 备注 | 使用
----|------
touch |创建一个空白文件||touch a.txt
mkdir |创建一个目录||mkdir folder
拷贝文件和移动文件
命令 | 作用 | 备注 | 使用
----|------
cp|拷贝文件或目录||如下
mv|移动文件或重命名|使用中a为目录|移动文件 mv a.txt a 重命名 mv a.txt b.txt
拷贝文件 cp new_file new_file_copy ;
拷贝文件到其他目录cp new_file a/; #a为目录
自定义名字cp new_file a/new_file_copy ;
拷贝目录时候需要加参数 -R
删除文件和目录
命令 | 作用 | 使用
----| -----
rm |删除文件和目录 |rm a.txt
- -i 参数:向用户确认是否删除;
- -f参数:慎用,不会询问是否删除,强制删除;
- -r参数:递归地删除
变为root用户
命令 | 作用 | 备注|使用
----| -----
su - |进入root模式||
sudo |暂时成为root|如果我们要运行只有root才可以运行的命令,那么可以在此命令前面加上sudo命令 |sudo ls
exit|退出root模式||
修改访问权限
命令 | 作用 | 使用
----| -----
chmod |修改访问权限 |如下
第一组rwx表示文件的所有者对于此文件的访问权限。
第二组rwx表示文件所属的群组的其他用户对于此文件的访问权限。
第三组rwx表示除前两组之外的其他用户对于此文件的访问权限。
d:是英语directory的缩写,表示“目录”。就是说这是一个目录。
l:是英语link的缩写,表示“链接”。就是说这是一个链接。
r:是英语read的缩写,表示“读”。就是说可以读这个文件。
w:是英语write的缩写,表示“写”。就是说可以写这个文件,也就是可以修改。
x:是英语execute的缩写,表示“执行,运行”。就是说可以运行这个文件。
用数字来分配权限:chmod的绝对用法
chmod 600 renamed_file
用字母来分配权限:chmod的相对用法
u:user的缩写,是英语“用户”的意思。表示所有者。
g:group的缩写,是英语“群组”的意思。表示群组用户。
o:other的缩写,是英语“其他”的意思。表示其他用户。
a:all的缩写,是英语“所有”的意思。表示所有用户。
+:加号,表示添加权限。
-:减号,表示去除权限。
=:等号,表示分配权限。
#文件file.txt的所有者增加读和运行的权限。
chmod u+rx file.txt
#文件file.txt的群组其他用户增加读的权限。
chmod g+r file.txt
#文件file.txt的其他用户移除读的权限。
chmod o-r file.txt
#文件file.txt的群组其他用户增加读的权限,其他用户移除读的权限。
chmod g+r o-r file.txt
#文件file.txt的群组其他用户和其他用户均移除读的权限。
chmod go-r file.txt
#文件file.txt的所有用户增加运行的权限。
chmod +x file.txt
#文件file.txt的所有者分配读,写和执行的权限;群组其他用户分配读的权限,不能写或执行;其他用户没有任何权限。
chmod u=rwx,g=r,o=- file.txt
- -R参数:递归地修改访问权限
chmod配合-R参数可以递归地修改文件访问权限。
chmod -R 700 /home/oscar
快速查找
命令 | 作用 | 备注|使用
----| -----
locate|搜索包含关键字的所有文件和目录|是在文件的数据库里查找记录|locate file
sudo updatedb|将新建文件录入文件数据库|
locate命令方便快捷,易于使用。但缺点也很明显:
- locate命令会列出所有在文件数据库中找到的内容,有时候结果太多了,太繁杂。
- locate命令不能找到一天之内刚创建的文件,除非你先用root身份运行updatedb命令来更新文件数据库。
深入查找
命令 | 作用 | 备注|使用
----| -----
find||参数使用参考下列|find 《何处》《何物》《做什么》
- 根据文件名查找
find /var/log -name "syslog"
- 根据文件大小查找
find /var -size +10M /*查找大于10M的 */
find /var -size -20G /* 查找小于20G的*/
- 根据文件的最近访问时间查找
find -name "*.jpg" -atime -7 /*表示7天之内*/
-
仅查找目录或文件
-type d:只查找目录类型。d是directory的首字母,表示“目录”。
-type f:只查找文件类型。f是file的首字母,表示“文件”。
find /var/log -name "mysql" -type d
- 调用命令
使用-exec参数,可以后接一个命令,对每个查找到的文件进行操作。
find -name "*.jpg" -exec chmod 600 {} \;
就是说对于每个找到的.jpg结尾的文件,都进行-exec参数指定的操作:
- 这个操作不必用双引号括起来。
- {} 会用查找到的每个文件来替换。
- \; 是必须的结尾。
- 与locate区别
与locate命令不同,find命令不会在文件数据库中查找文件的记录,而是遍历你的实际硬盘。
所以,如果你的硬盘容量很大的话,那find命令会查找比较久。
筛选数据
命令 | 作用 | 备注|使用
----| -----
grep text file|文件中查找关键字,并且显示关键字所在的行。|text代表要搜索的文本,file代表供搜索的文件。|如下
grep alias .bashrc #普通用法
grep "Hello World" file2 #grep命令在一个文件中查找用空格隔开的文本,那么就要加上双引号
-
参数一览
- -i参数:忽略大小写
- -n参数:显示行号
- -v参数:只显示文本不在的行
- -r参数:在所有子目录和子文件中查找(如果你不知道你要找的文本在哪个文件里)
-o参数:只显示匹配字符
-
grep的高级用法:配合正则表达式
- -E参数:了让grep命令知道我们要使用正则表达式,须要加上-E参数,一般匹配 -o
grep -E -o ^alias .bashrc
排序
命令 | 作用 | 备注|使用
----| -----
sort|用于对文件的行进行排序。||sort name.txt
- 参数一览
- -o参数:将排序后的内容写入新文件
sort -o name_sorted.txt name.txt
- -r参数:倒序排列
- -R参数:随机排序
- -n参数:对数字排序
文件的统计
命令 | 作用 | 备注|使用
----| -----
wc|统计行数,字符数,字节数等||wc name.txt
结果分别代表行数,单词数, 字节数。
- 参数一览
- w参数:统计单词数
- c参数:统计字节数
- m参数:统计字符数
- l参数:统计列数
显示目录文件的大小
du
显示当前目录的所有文件以及所有子目录的文件大小
- 参数一览
- -h 以人类的角度直观的显示当前目录或指定目录/文件的大小
- -s 显示文件目录总共大小(不分别显示子目录)
- -sh 以人类的角度直观的显示文件目录总共的大小
- -shc * 显示当前目录下的文件和子目录(不展开子目录)的大小,并以人类直观的方式展现
删除文件中的重复内容
命令 | 作用 | 备注|使用
----| -----
uniq|删除文件中的重复内容|||uniq repeat.txt
- 参数一览
- -c参数用于显示重复的行数,如果是独一无二的行,那么数目就是1。
- -d参数只显示重复的行的值。
剪切文件的一部分内容
比如,我们要name.txt的每一行只保留第2至第4个字符。可以这样做:
cut -c 2-4 name.txt
监视系统活动
命令 | 作用 | 备注|使用
----| -----
w|都有谁,在做什么?||
ps|查看进程的静态列表|只会列出当前运行ps命令的用户在当前这个终端中所运行的进程。|
top|查看进程的动态列表||
kill PID(进程号)|结束一个进程||kill 8461
killall |结束多个进程|不同于kill命令,killall命令后接程序名,而不是PID(进程号)|killall find|
本总结参考 Linux探索之旅