Linux 命令大全参考网站
cat
(英文全拼:concatenate)命令用于连接文件并打印到标准输出设备上。
所有使用者
Linux cat [-AbeEnstTuv] [–help] [–version] fileName
把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:
cat -n textfile1 > textfile2
把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里:
cat -b textfile1 textfile2 >> textfile3
清空 /etc/test.txt 文档内容:
cat /dev/null > /etc/test.txt
cat 也可以用来制作镜像文件。例如要制作软盘的镜像文件,将软盘放好后输入:
cat /dev/fd0 > OUTFILE
相反的,如果想把 image file 写到软盘,输入:
cat IMG_FILE > /dev/fd0
注:
所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。
但是目前我们使用比较多的是 vim
编辑器。
vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。
Vim 是从 vi
发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
简单的来说,vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。
连 vim 的 官方网站 自己也说 vim 是一个程序开发工具而不是文字处理软件。
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是:
命令模式:
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下 i
,并不会输入一个字符,i被当作了一个命令。
以下是常用的几个命令:
若想要编辑文本:启动Vim,进入了命令模式,按下 i
,切换到输入模式。
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。
输入模式:
在命令模式下按下 i
就进入了输入模式。
在输入模式中,可以使用以下按键:
底线命令模式:
按下 ESC
按钮回到一般模式。
编辑完成之后,按ESC键 跳到命令模式,马上你就会发现画面左下角的 – INSERT – 不见了!
在命令模式下按下 :
(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令:
Linux rm
(英文全拼:remove)命令用于删除一个文件或者目录。
rm [options] name…
rm:是否删除 一般文件 “test.txt”? y
rm test.txt
rm: 无法删除目录"homework": 是一个目录
rm homework
rm:是否删除 目录 “homework”? y
rm -r homework
Linux mv
(英文全拼:move file)命令用来为文件或目录改名、或将文件或目录移入其它位置。
mv [options] source dest
mv [options] source… directory
命令格式 | 运行结果 |
---|---|
mv source_file(文件) dest_file(文件) | 将源文件名 source_file 改为目标文件名 dest_file |
mv source_file(文件) dest_directory(目录) | 将文件 source_file 移动到目标目录 dest_directory 中 |
mv source_directory(目录) dest_directory(目录) | 目录名 dest_directory 已存在,将 source_directory 移动到目录名 dest_directory 中;目录名 dest_directory 不存在则 source_directory 改名为目录名 dest_directory |
mv source_directory(目录) dest_file(文件) | 出错 |
将文件 aaa 改名为 bbb :
mv aaa bbb
将 info 目录放入 logs 目录中。注意,如果 logs 目录不存在,则该命令将 info 改名为 logs。
mv info/ logs
再如将 /usr/test 下的所有文件和目录移到当前目录下,命令行为:
mv /usr/test/* .
Linux cp
(英文全拼:copy file)命令主要用于复制文件或目录。
cp [options] source dest
或
cp [options] source… directory
将 /home/root/test.zip
文件复制到 /home/test
文件夹,输入如下命令:
cp /home/root/test.zip /home/test
将当前目录 test/
下的所有文件复制到新目录 newtest
下,输入如下命令:
$ cp –r test/ newtest
注意:用户使用该指令复制目录时,必须使用参数 -r
或者 -R
。
Linux ln
(英文全拼:link files)命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接。
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。
ln [参数][源文件或目录][目标文件或目录]
其中参数的格式为
[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]
[–help] [–version] [–]
Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,而链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。
不论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。
1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
2.软链接可以 跨文件系统 ,硬链接不可以
3.软链接可以对一个不存在的文件名进行链接
4.软链接可以对目录进行链接
1.硬链接,以文件副本的形式存在。但不占用实际空间。
2.不允许给目录创建硬链接
3.硬链接只有在同一个文件系统中才能创建
必要参数:
选择参数:
给文件创建软链接,为log2023.log文件创建软链接link2023,如果log2023.log丢失,link2023将失效:
ln -s log2023.log link2023
输出:
[root@YiWangQingShen test]# ll
-rw-r--r-- 1 root bin 4 Jun 12 10:14 log2023.log
[root@YiWangQingShen test]# ln -s log2023.log link2023
[root@YiWangQingShen test]# ll
lrwxrwxrwx 1 root root 11 Jun 12 10:15 link2023 -> log2023.log
-rw-r--r-- 1 root bin 4 Jun 12 10:14 log2023.log
给文件创建硬链接,为log2023.log创建硬链接ln2023,log2023.log与ln2023的各项属性相同
ln log2023.log ln2023
输出:
[root@YiWangQingShen test]# ll
lrwxrwxrwx 1 root root 11 Jun 12 10:15 link2023 -> log2023.log
-rw-r--r-- 1 root bin 4 Jun 12 10:14 log2023.log
[root@YiWangQingShen test]# ln log2023.log ln2023
[root@YiWangQingShen test]# ll
lrwxrwxrwx 1 root root 11 Jun 12 10:15 link2023 -> log2023.log
-rw-r--r-- 2 root bin 4 Jun 12 10:14 ln2023
-rw-r--r-- 2 root bin 4 Jun 12 10:14 log2023.log
Linux cd
(英文全拼:change directory)命令用于切换当前工作目录。
其中 dirName
表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home
目录 (也就是刚 login
时所在的目录)。
另外,~
也表示为 home
目录 的意思, .
则是表示目前所在的目录, ..
则表示目前目录位置的上一层目录。
cd [dirName]
dirName:要切换的目标目录。
跳到 /usr/bin/ :
cd /usr/bin
跳到自己的 home 目录 :
cd ~
跳到目前目录的上上两层 :
cd ../..
Linux mkdir
(英文全拼:make directory)命令用于创建目录。
mkdir [-p] dirName
在工作目录下,建立一个名为 test 的子目录 :
mkdir test
在工作目录下的 test2 目录中,建立一个名为 test 的子目录。
若 test2 目录原本不存在,则建立一个。(注:本例若不加 -p 参数,且原本 test2 目录不存在,则产生错误。)
mkdir -p test2/test
Linux pwd
(英文全拼:print work directory) 命令用于显示工作目录。
执行 pwd 指令可立刻得知您目前所在的工作目录的绝对路径名称。
pwd [–help][–version]
查看当前所在目录:
pwd
Linux top 是一个在 Linux 和其他类 Unix 系统上常用的实时系统监控工具。它提供了一个动态的、交互式的实时视图,显示系统的整体性能信息以及正在运行的进程的相关信息。
所有使用者。
top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
显示进程信息
top
显示完整命令
top -c
以批处理模式显示程序信息
top -b
以累积模式显示程序信息
top -S
设置信息更新次数
top -n 2 // 表示更新两次后终止更新显示
设置信息更新时间
top -d 3 // 表示更新周期为3秒
显示指定的进程信息
top -p 139 // 显示进程号为139的进程信息,CPU、内存占用率等
显示更新十次后退出
top -n 10
使用者将不能利用交谈式指令来对行程下命令
top -s
Linux kill
命令用于删除执行中的程序或工作。
kill 可将指定的信息送至程序。预设的信息为 SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用 SIGKILL(9) 信息尝试强制删除程序。程序或工作的编号可利用 ps 指令或 jobs 指令查看。
kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]
[程序] [程序]可以是程序的PID或是PGID,也可以是工作编号。
使用 kill -l 命令列出所有可用信号。
最常用的信号是:
杀死进程
kill 12345
强制杀死进程
kill -KILL 123456
发送SIGHUP信号,可以使用一下信号
kill -HUP pid
彻底杀死进程
kill -9 123456
显示信号
kill -l
SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3
SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
SIGRTMAX-1 64) SIGRTMAX
杀死指定用户所有进程
kill -9 $(ps -ef | grep hnlinux) // 方法一 过滤出hnlinux用户进程
kill -u hnlinux // 方法二
Linux zip
命令用于压缩文件。
zip 是个使用广泛的压缩程序,压缩后的文件后缀名为 .zip
。
zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>][-t <日期时间>][-<压缩效率>][压缩文件][文件…][-i <范本样式>][-x <范本样式>]
将 /home/test/ 这个目录下所有文件和文件夹打包为当前目录下的 test.zip:
zip -q -r test.zip /home/test
如果在我们在 /home/test 目录下,可以执行以下命令:
zip -q -r test.zip *
从压缩文件 test.zip 中删除文件 test1.log
zip -d test.zip test1.log
Linux unzip
命令用于解压缩zip文件。
unzip为.zip压缩文件的解压缩程序。
unzip [-cflptuvz][-agCjLMnoqsVX][-P <密码>][.zip文件][文件][-d <目录>][-x <文件>] 或 unzip [-Z]
解压test.zip文件:
unzip test.zip
查看压缩文件中包含的文件:
unzip -l test.zip
-v 参数用于查看压缩文件目录信息,但是不解压该文件。
unzip -v test.zip
Linux gzip
命令用于压缩文件。
gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出".gz"的扩展名。
gzip [-acdfhlLnNqrtvV][-S <压缩字尾字符串>][-<压缩效率>][–best/fast][文件…] 或 gzip [-acdfhlLnNqrtvV][-S <压缩字尾字符串>][-<压缩效率>][–best/fast][目录]
压缩文件
[root@YiWangQingShen test]$ ls //显示当前目录文件
test1.log test2.log
[root@YiWangQingShen test]$ gzip * //压缩目录下的所有文件
[root@YiWangQingShen test]$ ls //显示当前目录文件
test1.log.gz test2.log.gz
显示压缩文件的信息
[root@YiWangQingShen test]$ gzip -l *
compressed uncompressed ratio uncompressed_name
35 5 -40.0% test1.log
36 6 -33.3% test2.log
71 11 -290.9% (totals)
解压单个压缩包
gzip -d test1.log.gz
解压并列出详细的信息
[root@YiWangQingShen test]$ gzip -dv * //解压所有文件,并列出详细信息
gzip: test1.log: unknown suffix -- ignored
test2.log.gz: -33.3% -- replaced with test2.log