快捷键
按键
作用
Ctrl+d
键盘输入结束或退出终端
Ctrl+s
暂停当前程序,暂停后按下任意键恢复运行
Ctrl+z
将当前程序放到后台运行,恢复到前台为命令fg
Ctrl+a
将光标移至输入行头,相当于Home
键
Ctrl+e
将光标移至输入行末,相当于End
键
Ctrl+k
删除从光标所在位置到行末
Alt+Backspace
向前删除一个单词
Shift+PgUp
将终端显示向上滚动
Shift+PgDn
将终端显示向下滚动
一次创建多个文件:如:“love_1_linux.txt,love_2_linux.txt,... love_10_linux.txt”。
命令:touch love_{1..10}_shiyanlou.txt
Shell 常用通配符:
字符
含义
*
匹配 0 或多个字符
?
匹配任意一个字符
[list]
匹配 list 中的任意单一字符
[^list]
匹配 除list 中的任意单一字符以外的字符
[c1-c2]
匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z]
{string1,string2,...}
匹配 string1 或 string2 (或更多)其一字符串
{c1..c2}
匹配 c1-c2 中全部字符 如{1..10}
新建空白文件:
$ touch test
新建目录:
$ mkdir mydir
复制文件:
$ cp test father/son
复制目录:(-r代表递归)
$ cp -r father family
强制删除文件:(-f代表强制删除)
$ rm -f test
删除目录:(-r代表递归)
$ rm -r family
移动文件:(讲file1移动至Documents)
$ mv file1 Documents
重命名文件:(将file1重命名为myfile)
$ mv file1 myfile
批量重命名:()
1.批量将这 5 个后缀为 .txt 的文本文件重命名为以 .c 为后缀的文件:(将所有.txt后缀名的文件重命名为.c后缀名)
$ rename 's/\.txt/\.c/' *.txt
2.批量将这 5 个文件,文件名和后缀改为大写:(将所有.c后缀名的文件名的字母转大写)
$ rename 'y/a-z/A-Z/' *.c
查看文件:(-n 代表显示行号,cat命令为正序显示文件内容,另有tac命令为倒序显示文件内容)
$ cat -n passwd
分页查看文件:(按Enter
键向下滚动一行,按Space键向下滚动一屏
,按下 h
显示帮助,q
退出。)
$ more passwd
tail命令查看文件:(查看一行,此外,tail命令还有一个-f参数,可以实时读取指定文件内容并且显示)
$ tail -n 1 passwd
查看文件类型:(输出文件名,编码,文件类型)
$ file passwd
输出环境变量:
$ echo $PATH
创建Shell脚本:
$ gedit hello_shell.sh
1.Shell脚本内容:
#!/bin/bash
for ((i=0; i<10; i++));do
echo "hello shell"
done
exit 0
授予文件可执行权限:
$ chmod 755 hello_shell.sh
搜索文件:
$ whereis passwd
更全面的搜索:(**locate
**命令,它可以用来查找指定目录下的不同文件类型,如查找 /etc 下所有以 sh 开头的文件,首先要安装locate)
$ sudo apt-get install locate
$ locate /etc/sh
//查找 /usr/share/ 下所有 jpg 文件
$ locate /usr/share/\*.jpg
搜索命令which:(which
本身是 Shell 内建的一个命令,我们通常使用 which
来确定是否安装了某个指定的软件,因为它只从 PATH
环境变量指定的路径中去搜索命令)
$ which man
搜索命令find:(
应该是这几个命令中最强大的了,它不但可以通过文件类型、文件名进行查找而且可以根据文件的属性(如文件的时间戳,文件的权限等)进行搜索。find
命令强大到,要把它讲明白至少需要单独好几节课程才行,我们这里只介绍一些常用的内容。
这条命令表示去 /etc/ 目录下面 ,搜索名字叫做 interfaces 的文件或者目录。这是 find 命令最常见的格式,千万记住 find 的第一个参数是要搜索的地方,下面的命令意思是查找home目录下的passwd文件)
$ sudo find /home -name passwd
搜索home目录中当天(24小时内)改动过的文件:(~代表home目录)
$ find ~ -mtime 0
搜索home目录下比home/shiyanlou/Code目录新的文件
$ find ~ -newer /home/shiyanlou/Code