linux学习记录
快捷键
Tab : 命令补全,当你忘记某个命令的全称时可以只输入它的开头的一部分,然后按下 Tab 键就可以得到提示或者帮助完成。
Ctrl+c : 强行终止当前程序。
Ctrl+d : 键盘输入结束或退出终端。
Ctrl+s : 暂停当前程序,暂停后按下任意键恢复运行。
Ctrl+z : 将当前程序放到后台运行,恢复到前台为命令fg。
Ctrl+a : 将光标移至输入行头,相当于Home键。
Ctrl+e : 将光标移至输入行末,相当于End键。
Ctrl+k : 删除从光标所在位置到行末。
Alt+Backspace : 向前删除一个单词。
Shift+PgUp : 将终端显示向上滚动。
Shift+PgDn : 将终端显示向下滚动。
rar
rar是一种在windows常见的文件压缩格式,但是在linux下必须先安装才能使用。
1)创建压缩文件:
rar a ehpc.rar ./Desktop/
这是将ehpc目录打包成ehpc.rar
2)使用 a 参数添加文件进压缩包:
rar a ehpc.rar a.o
3)使用 d 参数删除文件:
rar d ehpc.rar a.o
4)使用 l 参数查看文件:
rar l ehpc.rar
5)解压分为两种,一种是 x 参数解压,这样会保持压缩文件的目录结构;另一种是 e 参数解压,将所有文件解压到当前目录:
unrar x ehpc.rar
unrar e ehpc.rar
zip
zip也是在windows和linux使用率比较高的文件压缩格式。
1)创建压缩包:
zip -r -o ehpc.zip ./Desktop
其中,-r 参数表示递归,所以上面命令是打包ehpc目录进压缩包;-o 参数表示输出到ehpc.zip压缩文件。
2)使用 -e 参数进行加密:
zip -r -e -o ehpc.zip ./Desktop
需要注意的是,由于编码问题linux下和windows下的文本文件可能会不同,如果希望在linux压缩的文件在windows下正常解压,可以加上 -l 参数。
3)查看与解压
解压很简单:
unzip ehpc.zip
查看只需加上 -l 参数:
unzip -l ehpc.zip
tar
实际上,在linux中用得更多的是tar工具。tar 原本只是一个打包工具,没有压缩功能,需要配合其他具有压缩功能而没有打包功能的工具进行打包压缩。
1)创建一个 tar 包:
tar -cf ehpc.tar ./Desktop
其中,-c 参数表示创建,-f 参数表示指定文件名,必须跟在文件名之前。
可以发现这个tar包和原大小相同。
2)查看一个 tar 包:
tar -tf ehpc.tar
3)解包一个 tar 包到指定目录:
tar -xf ehpc.tar -C ehpcdir
上面我们说了tar需要配合其他工具进行压缩,其实一般只需要加一个参数就可以了。这里以gzip为例:
tar -czf ehpc.tar.gz ./
解压缩:
tar -xzf ehpc.tar.gz
which
which只从环境变量指定的路径中去搜索文件,所以我们常常使用which来判断是否安装了某个软件。
例如:
$ which nano
whereis
一个比较简单的搜索命令,它直接从数据库而不是硬盘查询,而且只能搜索特定的文件。所以,它的搜索很快。
locate
在这里要先介绍" /var/lib/mlocate/mlocate.db "数据库,因为 locate 命令就是通过这个数据库查找的。这个数据库由系统每天定时维护更新,所以有时候需要手动执行 updatedb 命令来更新数据库。
例如,查找 /usr 及其子目录下所有以 a 开头的文件:
$ locate /usr/a
find
find命令是一个功能非常强大的命令,它可以根据文件的各个属性来搜索,在此只介绍其简单的搜索。其基本命令格式为:
find [path] [option] [action]
例如,在 /usr/ 目录下搜索名字为 myfile 的文件或目录:
$ sudo find /usr/ -name myfile
&& 表示如果前一个命令返回的状态为0(这些状态码有一套默认的规定),则执行后一个命令,否则不执行。而 || 则与之相反。
例如我们常常使用 which 命令来判断是否安装了某个命令:
which rar>/dev/null && echo "Installed."
当然也可以结合使用:
which rar>/dev/null && echo "Installed." || echo "Not installed"
前台/后台切换
在前台运行的进程的快捷键是 ctrl + c
当前进程停止并转到后台的快捷键是 ctrl + z。
进程在前台与后台之间切换可以通过 & 这个符号,让命令在后台中运行。
例如:
ls &
这样命令就会在后台自己运行了。
查看在后台的工作
可以使用:
jobs
这时我们可以看到每行是这样的格式:
[1] + suspended ...(command)
其中,第一列的数字表示job编号,也就是转到后台的工作的编号,第二列如果是 ‘+’ 表示的是这是最后一个被转入后台的工作, ‘-’ 的话则是倒数第二个,其他的话在这列没有符号。第三列表示状态,而后面则是命令本身。
把工作从后台拿回前台
可以使用:
fg %jobid
例如, fg %1
如果只是希望其在后台运行的话,可以:
bg %jobid
终止
终止命令比较简单,但是在参数上我们可以通过选择信号值来决定以何种方式终止程序,信号值可以这样查看:
kill -l
所以可以这样终止程序:
kill -signal pid
或者
kill -signal %jobid