快捷键

按键

作用

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