1.常用指令
ls 显示文件或目录
-l 列出文件详细信息l(list)
-a 列出当前目录下所有文件及目录,包括隐藏的a(all)
mkdir 创建目录
-p 创建目录,若无父目录,则创建p(parent)
cd 切换目录
touch 创建空文件
echo 创建带有内容的文件。
cat 查看文件内容
cp 拷贝
mv 移动或重命名
rm 删除文件
-r 递归删除,可删除子目录及文件
-f 强制删除
find 在文件系统中搜索某文件
wc 统计文本中行数、字数、字符数
grep 在文本文件中查找某个字符串
rmdir 删除空目录
tree 树形结构显示目录,需要安装tree包
pwd 显示当前目录
ln 创建链接文件
more、less 分页显示文本文件内容
head、tail 显示文件头、尾内容
ctrl+alt+F1 命令行全屏模式
2.系统管理命令
stat 显示指定文件的详细信息,比ls更详细
who 显示在线登陆用户
whoami 显示当前操作用户
hostname 显示主机名
uname 显示系统信息
top 动态显示当前耗费资源最多进程信息
ps 显示瞬间进程状态 ps -aux
查看目录大小 -h /home带有单位显示目录信息
df 查看磁盘大小 df -h 带有单位显示磁盘信息
ifconfig 查看网络情况
ping 测试网络连通
netstat 显示网络状态信息
man 命令不会用了,找男人 如:man ls
clear 清屏
alias 对命令重命名 如:alias showmeit="ps -aux" ,另外解除使用unaliax showmeit
kill 杀死进程,可以先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程。
3.打包压缩相关命令
tar: 打包压缩
-c 归档文件
-x 压缩文件
-z gzip压缩文件
-j bzip2压缩文件
-v 显示压缩或解压缩过程 v(view)
-f 使用档名
例:
tar -cvf /home/abc.tar /home/abc 只打包,不压缩
tar -zcvf /home/abc.tar.gz /home/abc 打包,并用gzip压缩
tar -jcvf /home/abc.tar.bz2 /home/abc 打包,并用bzip2压缩
当然,如果想解压缩,就直接替换上面的命令 tar -cvf / tar -zcvf / tar -jcvf 中的“c” 换成“x” 就可以了。
3.关机/重启机器
shutdown
-r 关机重启
-h 关机不重启
now 立刻关机
halt 关机
reboot 重启
4.Linux管道
将一个命令的标准输出作为另一个命令的标准输入。也就是把几个命令组合起来使用,后一个命令除以前一个命令的结果。
例:grep -r "close" /home/* | more 在home目录下所有文件中查找,包括close的文件,并分页输出。
5.Linux软件包管理
dpkg(Debian Package)管理工具,软件包名以.deb后缀。这种方法适合系统不能联网的情况下。
比如安装tree命令的安装包,先将tree.deb传到Linux系统中。再使用如下命令安装。
sudo dpkg -i tree_1.5.3-1_i386.deb 安装软件
sudo dpkg -r tree 卸载软件
注:将tree.deb传到Linux系统中,有多种方式。VMwareTool,使用挂载方式;使用winSCP工具等;
APT(Advanced Packaging Tool)高级软件工具。这种方法适合系统能够连接互联网的情况。
依然以tree为例
sudo apt-get install tree 安装tree
sudo apt-get remove tree 卸载tree
sudo apt-get update 更新软件
sudo apt-get upgrade
6.将.rpm文件转为.deb文件
.rpm为RedHat使用的软件格式。在Ubuntu下不能直接使用,所以需要转换一下。
sudo alien abc.rpm
7.vim使用
vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。
命令模式下:
:q 退出
:q! 强制退出
:wq 保存并退出
:set number 显示行号
:set nonumber 隐藏行号
/apache 在文档中查找apache 按n跳到下一个,shift+n上一个
yyp 复制光标所在行,并粘贴
h(左移一个字符←)、j(下一行↓)、k(上一行↑)、l(右移一个字符→)
8.用户及用户组管理
/etc/passwd 存储用户账号
/etc/group 存储组账号
/etc/shadow 存储用户账号的密码
/etc/gshadow 存储用户组账号的密码
useradd 用户名
userdel 用户名
adser 用户名
groupadd 组名
groupdel 组名
passwd root 给root设置密码
/etc/profile 系统环境变量
bash_profile 用户环境变量
.bashrc 用户环境变量
su user 切换用户,加载配置文件.bashrc
su - user 切换用户,加载配置文件/etc/profile ,加载bash_profile
更改文件的用户及用户组
sudo chown [-R] owner[:group] {File|Directory}
例如:还以jdk-7u21-linux-i586.tar.gz为例。属于用户hadoop,组hadoop
要想切换此文件所属的用户及组。可以使用命令。
sudo chown root:rootjdk-7u21-linux-i586.tar.gz
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
UNIX操作系统(尤尼斯),是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由KenThompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发。目前它的商标权由国际开放标准组织所拥有,只有符合单一UNIX规范的UNIX系统才能使用UNIX这个名称,否则只能称为类UNIX(UNIX-like)。
2. 如何杀死Unix操作系统下不服管教的进程 (1)
可是有时候这个守护神也会闹别扭,会跟Unix操作系统作对。如明明任务已经执行完成了,但是却没有正常结束进程。又或者进程无缘无故占用了大量的系统资源,导致系统速度减慢,影响了其他作业的正常运行。对于这些不服管教的进程,系统工程师只能够拿起手中的屠刀,实行“杀无赦”政策。 在Unix系统中有多种手段可以杀死这些异常的进程。通常情况下,笔者建议是杀进程的工作要有序的进行,尽量采取一些对操作系统影响小的方法。 第一阶段:在本机上杀死进程。 系统工程师可以直接在Unix系统的命令中断采用相关的命令来杀死异常进程。如可以按键盘上的DEL键、Ctrl+D键、Break键等等杀死进程。系统工程师按下这些键的任何一个,都会向系统进程发送中断信号。注意,通常情况下只有root用户才能够杀死其他拥护的进程或者系统进程;而其他用户只能够杀死自己的进程。如现在Unix系统中要部署一个Oracle数据库服务器。为了管理方便,Unix系统工程师建立了一个Oracle用户,用来进行数据库系统的维护与管理。此时,Oracle这个用户就会运行几个进程,如tns等进程。正常情况下,Oracle用户以及root用户都可以杀死这个进程。但是如果这个系统中还有其他用户,则无法杀死这个进程。 另外如果用户想杀的进程是shell的子进程,则还可以采用kill命令家进程的作业号的方式。如kill % 作业号等等。Shell是Unix系统中很好的一个交互工具,也有人把它叫做命令行界面,是Unix操作系统下最传统、历史最悠久的用户和计算机的交互截面。系统管理员可以在这里直接输入相关的命令来执行各种各样的维护任务,包括杀死异常进程等等。其实它跟微软操作系统下的命令行界面很相似,不过也有一些差异的地方。如Unix操作系统下的shell既是用户与系统交互的界面,也是控制系统的脚本语言。这就是两者最大的差异。Shell做重要的特点就是隐藏了操作系统的底层细节,故对于工程师来说这是首选的维护系统的工具。 其实大部分时候工程师都是在shell环境下管理进程,包括上篇文章中谈到的查看进程信息、把后台进程调到前台等等。故在本机上杀死进程也大部分是在shel环境下进行。为此系统工程师用的更多的可能还是利用kill命令来杀死shell子进程。 第二阶段:从另一个终端来杀进程。 有时候可能进程比较顽固,若从当前终端来杀它的话,还杀不掉。此时管理员就可以通过曲线救国的方式,从另一个终端登陆到Unix操作系统,然后采用kill命令来杀死异常进程。这个主要的步骤如下。 第一步从另一个终端登陆操作系统。通常情况下,Unix系统支持多个终端。当系统工程师发现在当前终端无法杀死某个进程的话,则不用急于通过重新启动或者强制关机等方式来杀死这些杀不掉的进程。这是下下之策。遇到这种情况,系统工程师可以从另外一个终端登陆到操作系统,然后尝试使用kill命令来杀死进程。 第二步使用ps –u命令来查找需要杀死进程所对应的进程号或者作业号。ps 命令将活动进程的当前状态和有关的内核线程写到标准输出中。这个命令有很多参数,如-m、-l、s、u 和 v等等。注意当采用-m参数时则系统将使用额外的行显示与进程相关的线程。不带任何参数时,ps 命令将会显示关于当前工作站的信息。而使用-o参数时,ps命令检查内存或调页区域并确定进程创建时的命令名和参数是什么。如果 ps 命令不能找到该信息,存储在内核中的命令名显示在方括号中。如果想快速查找特定作业的进程信息,采用-u参数是不错的选择。如ps –u oracle 等等。 第三步使用kill命令杀死异常进程,如kill 26014。Kill命令就会向目标进程发送一个信号以中断这个进程。通常情况下,此时就可以杀死那些比较顽固的进程。如果在kill命令后面没有加上进程号或者作业号,则系统会采用默认的信号值15,这是一个终止命令。如果此时还没有杀死这个进程的话,那么可以采用更强烈的方式,即kill -9 进程号。对于顽固进程来说,这条命令可能会更加有用。这主要是因为这个命令使进程在接收到中断信号后,不能关闭它在使用的任何文件。正是因为有这个后遗症,故只有在采用上面那几种手段无效的情况下,才推荐使用这个终极杀手。 第三阶段:通过父进程来杀死子进程。 在unix操作系统中,进程有父子进程的关系。某个进程可能会创建另外一个进程,这个创建者就是父进程,而新建立的进程就是子进程。通常情况下,如果停止了一个父进程,则该父进程产生的所有子进程都将自动终止。但是,这个过程可能会破坏数据文件或者其他一些难以预料的结果。故正常情况下,笔者是建议系统工程师先关闭掉所有的子进程,然后再关闭父进程。 但是,当采取了任何手段,包括kill -9手段之后仍然无法正常杀死顽固进程之后,系统工程师只好采用这个终极杀手,即通过关闭父进程来自动关闭不听话的子进程。但是,正如上面所说的,这很可能会导致一些连锁反映。所以在采用这种方式之前,系统工程师还是要预先估计一下可能会带来的后果。如可以把这个父进程所产生的子进程能够关闭的先关闭掉。然后再通过杀死父进程来自动终止子进程。这可以把对操作系统的不利影响降低到最低。 第四阶段:利用系统注销功能来关闭杀不掉的进程。 若通过关闭父进程仍然杀不死子进程的话,那么管理员还可以通过注销系统的方式来杀死进程。这就好象Windows系统注销一样,会关闭当前的所有进程与任务。不过有时候系统工程师可能不想关闭所有的进程,如一些关系到服务器运行的进程。此时,系统工程师在注销系统之前,需要采取一定的手段,让系统注销后仍然能够保持某些进程正常运转。如果系统工程师想在系统注销后仍然执行一个或者多个进程,则可以采用nohup命令。如此设置后,即使在系统注销后,在后台执行的进程仍然可以继续执行,不会终止。这个手段就可以把系统注销对于用户的不利影响降低到最低。如果Unix操作系统是企业中的一台服务器,而不是客户端,那么这个特性将会对企业很有利。 nohup命令运行由Command参数和任何相关的Arg参数指定的命令,而忽略所有挂断信号。为此在系统注销后仍然可以使用nohup命令运行后台中的程序。注意无论是否将 nohup命令的输出重定向到终端,输出都将附加到当前目录的nohup.out 文件中。如果当前目录的nohup.out文件不可写,则输出重定向到$HOME/nohup.out 文件中。如果上面这些文件都不可以用的话,那么Command参数指定的命令不可调用。故系统工程师如果事后要查看这些系统注销后仍然运行在后台进程的结果,就可以依次查看以上这两个文件。 操作系统注销后,通常再顽固的进程都会被杀死掉。不过有时候会因为进程实在难缠,注销的过程时间可能会比较长。若操作系统在长时间后仍然无法注销的话,那只有强制重新启动电脑了。不过重新启动后很可能会出现启动故障。为此,重新启动系统来终止进程是不得已而为止的做法了。
3. unix kill命令
kill -n pid 其实就是unix系统给指定的pid的进程发送信号的一个过程.9只是其中一个信号,程序执行阶段捕获到自己的信号就会做出响应的反应.当然程序也可以忽略一部分信号.
“信号”是指那些被异步发送到一个程序的事件。默认情况下,它们通常会终止一个程序的运行。
1) 查看有哪些信号及其编号
$ trap -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD
18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN
22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO
30) SIGPWR 31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1
36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4 39) SIGRTMIN+5
40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8 43) SIGRTMIN+9
44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13
52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9
56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6 59) SIGRTMAX-5
60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2 63) SIGRTMAX-1
64) SIGRTMAX
2) 信号详情
名称 默认动作 说明
SIGHUP 终止进程 终端线路挂断
SIGINT 终止进程 中断进程
SIGQUIT 建立CORE文件 终止进程,并且生成core文件
SIGILL 建立CORE文件 非法指令
SIGTRAP 建立CORE文件 跟踪自陷
SIGBUS 建立CORE文件 总线错误
SIGSEGV 建立CORE文件 段非法错误
SIGFPE 建立CORE文件 浮点异常
SIGIOT 建立CORE文件 执行I/O自陷
SIGKILL 终止进程 杀死进程
SIGPIPE 终止进程 向一个没有读进程的管道写数据
SIGALARM 终止进程 计时器到时
SIGTERM 终止进程 软件终止信号
SIGSTOP 停止进程 非终端来的停止信号
SIGTSTP 停止进程 终端来的停止信号
SIGCONT 忽略信号 继续执行一个停止的进程
SIGURG 忽略信号 I/O紧急信号
SIGIO 忽略信号 描述符上可以进行I/O
SIGCHLD 忽略信号 当子进程停止或退出时通知父进程
SIGTTOU 停止进程 后台进程写终端
SIGTTIN 停止进程 后台进程读终端
SIGXGPU 终止进程 CPU时限超时
SIGXFSZ 终止进程 文件长度过长
SIGWINCH 忽略信号 窗口大小发生变化
SIGPROF 终止进程 统计分布图用计时器到时
SIGUSR1 终止进程 用户定义信号1
SIGUSR2 终止进程 用户定义信号2
SIGVTALRM 终止进程 虚拟计时器到时
4. 有关于shell的命令,本人刚接触shell,主要是想知道他具体的命令
Shell基础:
你可以通过打开Linux的terminal(终端)来执行Shell命令。Shell的种类有很多种,例如CSH,Bourne
Shell,Korn Shell。在现在的大多数Linux发行版中,默认的Shell一般都是Bourne again
shell(bash)。
想看看你的Shell是哪一种,执行下面的命令
echo
$SHELL
在Linux中,$符号代表一个shell变量。所有的shell都用这种方式使用变量。有一些shell变量在你的系统启动的时候就有了默认值。例如,$SHELL;$LOGNAME是你的登录名,而$PATH变量指明了你的shell命令的搜索范围。
echo命令的作用就是打印出你的输入。如果你的输入具有shell的特殊意义,例如shell变量,他就输出变量的值。
一个重要的地方是,你要注意文本的大小写。例如,ls,是DOS的dir命令的Linux版本。这个命令列出当前工作目录下的文件列表。如果你输入的是LS,你得到的只能是“找不到命令”的错误信息。
另外在Linux
shell命令中一个重要的地方是,你可以将命令串起来。这是Unix/Linux从第一天开始就有的巧妙的特点。最简单的将命令连起来的办法就是使用“|”,我们称之为“pipe”。第一个命令的输出就是下一个命令的输入。
Linux命令有自己的语法规则:
基本的语法就像这样:
command -option
file
例如:
ls
-la
这行命令的意义是输出当前目录的所有文件的文件名,l代表“long”,a代表“all”,有了l选项,你会发现,输出的内容比较丰富,不只包括文件
名,还有文件的访问权限,所有者,所属组等。你会发现这个命令会在屏幕上输出大量的信息,如果当前目录的文件比较多的话。
现在就是“pipe”出场的时候了。
ls
-la | more
你会在屏幕上看到如下信息:
你也可以在大多数Linux命令中使用通配符。通配符就是可以代表文件名中任何未知的字符或字符串。例如,*就代表任意字符串,?代表单个字符。例如:
ls
-l a*
这个命令会列出在当前工作目录下所有的以小写a开头的文件,比如说abc.txt,alpha.jpg等等。
ls
a?cd
这条命令会列出所有以小写a开头隔一个未知字符以小写cd结尾的所有文件。例如adcd,axcd,但是不会列出adfdcd,也不会列出axcd.txt。
一些常用的命令
man:如果你想了解每一个命令代表什么含义以及他的用法,你就可以使用man(意义为manual)命令,例如:
man
ls
man输出的内容是为系统管理员和开发者编写的,如果你想了解更多命令的用法,你可以去找网络上的Linux命令文档,有一个非常方便的就是丹尼尔·巴雷特的Linux的袖珍指南。
在以前如果你真的想学习Linux和Unix你必须阅读man手册。而在2012年的今天,面对如此好用的图形界面,这句话显得不是那么的重要,但是如果你想了解Linux更深,阅读man手册仍然是一个好的开始。
su和sudo:su命令的作用是切换用户,这也被称为超级用户,因为在有些系统中su命令可以使你以系统的所有权限用户root登录。除非你是系统管理员,否则我绝不推荐你使用su切换到root,因为这可能给你带来很多麻烦。
一个相对安全的多的办法是使用sudo命令,这个命令可以上你以root权限运行一个命令。
这两个命令都需要系统密码。在大多数Linux的桌面发行版中这两个是相同的,就是你系统的第一个用户设置的密码。
grep:grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。例如:
grep
foo /etc/passwd
返回在password文件中所有的含有foo的行
grep -i “foo”
/etc/passwd
-i选项是忽略大小写,这就意味着若某一行含有FOO或FOo也会被搜索到。
grep还支持递归搜索:
grep
-r “foo”
/home/sjvn
这条命令将会搜索/home/sjvn目录及其子目录下所有的包含“foo”的行
grep也通常与其他命令串连起来使用,例如:
ls
-la | grep
foo*
列出当前目录下任何以foo开头的文件或目录。例如如下文件将被匹配:foo,foobar,foolish.txt等等。
ps:报告进程的状态。此命令将显示哪些程序正在运行。我使用PS和grep比其他任何命令使用的都要多。
现在假如你有一个程序运行出了错误,你不能再桌面上把他关掉,(我看准你了,火狐),我运行如下命令就能查看他的进程id:
ps
-ef | grep firefox
这条命令做了如下事情:
kill -9
1234
·第一,他找出所有当前在我的电脑上运行的程序
·然后grep命令找出这些文件中叫“firefox”的,显示到屏幕上。
·每一行都有一个进程id数字。有了,现在我就可以是用...
kill:这条命令就想他的名字一样,他可以干掉指定的进程。干掉运行错误的firefox或者其他我想干掉的进程。
kill
1234
这将会干掉所有进程id为1234的程序。为了确保这个程序已经被干掉(强行终止),我使用下面的命令。
clear:如果你觉得你的屏幕上有太多的东西,看起来很讨厌,可以使用clear命令清空。
文件/目录命令
cp:cp代表,就是复制,他可以复制一个或多个文件到指定的一个或多个目录下。
一个通常的用法是:
cp
fred.txt ethel.txt
把fred.txt中的内容复制到当前文件夹中名为ethel.txt中
cp fred.txt
/home/sjvn/docs/fred.txt
把fred.txt复制到指定文件中。
cp *.txt
/home/sjvn/docs/
复制当前目录下所有以.txt结尾的文件到指定的目录下。
cp -r
/home/sjvn/docs/*
/home/sjvn/backup
递归的复制在/home/sjvn/docs/目录下的所有文件到指定的文件夹。
hostname:显示你当前登录进去的计算机的名称。
mv:mv(意义为move)顾名思义就是移动,可以移动指定文件到指定位置。当然这个命令有的时候还可以用来实现重命名。
例如:
mv
fred.txt
ethel.txt
这条命令的作用你可以简单的认为是重命名fred.txt为ethel.txt。
当然此命令还有其他用法,此处不再一一罗列,用法与cp类似,只是这条命令不再保留原文件。
rm:rm代表remove,是删除的意思,所以我运行:
rm
fred.txt
我将删除fred.txt。
我强烈推荐你在执行rm命令的时候使用-i选项。这儿选项将在你执行命令的时候询问你是否要真的删除文件。就像这样:
rm
-i fred.txt
系统信息
uname:uname
-a命令用一行简短的给你总结的电脑的基本信息。这通常包括你的电脑名称,Linux内核版本,你的发行版名称等。
对于更详细的信息,你可以使用cat命令,他可以显示你的Linux电脑中的文本信息。
cat
/proc/cpuinfo
展示你的CPU的重要的统计。
cat
/proc/version
展示你的当前运行的Linux发行版的详细信息。
cat
/etc/printcap
展示你当前安装的打印机。
set | more:
set|more
组合命令可以给你更多的呢当前的桌面环境变量的信息。单如果你只是想知道你系统环境变量中的某一个或两个,可以执行如下命令:
echo
$PATH
结束或者说是另一个开始
这里给你展示的只不过是Linux命令的表皮。成百上千的书和网站可以给你更多更复杂的如何使用Linux命令的展示。本文只是让你在想了解比Linux
Gui更深一层时的参考。
5. kill sh(UNIX/LINUX)
kill命令默认发送的是TERM信号,而shell进程会忽略TERM信号,因此用kill sh是杀不掉shell进程的。可以使用kill -KILL或者kill -9试试。
6. linux kill命令
linux kill命令使用场景:当需要中断一个前台进程的时候,通常是使用< Ctrl+c >组合键;但是对于一个后台进程恐怕就不是一个组合键所能解决的了,这时就必须求助于kill命令。
kill命令是通过向进程发送指定的信号来结束进程的。如果没有指定发送信号,那么默认值为TERM信号。TERM信号将终止所有不能捕获该信号的进程。至于那些可以捕获该信号的进程可能就需要使用kill(9)信号了,该信号是不能被捕捉的。
kill命令的语法:
kill [-s 信号 | -p ] [ -a ] 进程号
kill -l [信号]
说明:-s 指定需要送出的信号。既可以是信号名也可以对应数字。
-p 指定kill命令只是显示进程的pid,并不真正送出结束信号。
-l 显示信号名称列表,这也可以在/usr/include/linux/signal.h文件中找到。
kill命令的使用:
[举例] 在执行一条find指令时由于时间过长,决定终止该进程。
首先应该使用ps命令来查看该进程对应的PID,键入ps,显示如下:
PID TTY TIME COMMAND
285 1 00:00:00 -bash
287 3 00:00:00 -bash
289 5 00:00:00 /sbin/mingetty tty5
290 6 00:00:00 /sbin/mingetty tty6
312 3 00:00:00 telnet bbs3
341 4 00:00:00 /sbin/mingetty tty4
345 1 00:00:00 find / -name foxy.jpg
348 1 00:00:00 ps
可以看到该进程对应的PID是345,现在使用kill命令来终止该进程。键入:
# kill 345
再用ps命令查看,就可以看到,find进程已经被杀掉了。
7. 在linux/unix操作系统中用什么命令可以向一个进程发送信号
Linux/Unix中向一个进程发送信号用kill命令,不要以为kill命令只是用来杀死进程的,它可以发送各种信号给进程,杀死进程只是用到了其中的一个SIGKILL信号,kill命令的格式其实是这样的:
kill 信号参数 进程PID
其中常见的信号参数(英文横杠加阿拉伯数字)有如下几个,更多的信号信息参考可以用man命令查看手册页(man 7 signal):
-1:这个参数代表SIGHUP信号,作用类似重新启动进程;
-2:这个参数代表SIGINT信号,作用相当于在命令行输入Ctrl+C组合键中断进程的运行;
-9:这个参数代表SIGKILL信号,代表强制中断进程;
-15:这个参数代表SIGTERM信号,表示正常的终止进程;
-17:这个参数代表SIGSTOP信号,相当于在终端输入Ctrl+Z组合键来暂停进程的运行。
8. Linux kill 命令怎么用
Linux kill 命令用于终止进程,其用法步骤如下:
需要准备的材料分别是:电脑、linux连接工具。
1、首先连接上linux主机,进入命令行状态。
9. 说说常用的UNIX命令
下文列出了常用的unix命令。
more less:
less的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less允许使用者往回卷动以浏览已经看过的部份,同时因
为less并未在一开始就读入整个档案,因此在遇上大型档案的开启时,会比一般的文书编辑器(如 vi)来的快速。
unix种类[图]
>> Linux ‖ BSD ‖ Solaris ‖ SCO ‖ HP-UX ‖ AIX ‖ AS400 ‖ Tru64 ‖ IRIX ‖ MacOsX
UNIX命令
一、UNIX命令格式
1、UNIX命令提示符
在命令行下,操作系统会显示一提示符,提示用户在此提示符后可以输入一行命令。不同的Shell有不同的缺省提示符:
B Shell和K Shell的缺省提示符为"$";
C Shell的缺省提示符为"%";
但当以root用户登录时,系统提示符统一缺省为"#"。
用户可以更改自己的缺省Shell和提示符。
2、基本命令格式
在Shell提示符下,就可以输入UNIX命令。UNIX命令的基本格式如下:
command 参数1 参数2 ... 参数n
UNIX命令由一个命令(command)和零到多个参数构成,命令和参数之间,以及参数与参数之间用空格隔开。UNIX的命令格式和DOS的命令格式相似,但UNIX的命令区分大小写,且命令和参数之间必须隔开。如:对DOS来说是以下四条命令是相同的:
cd\tmp
cd \tmp
CD \tmp
cd \Tmp
对UNIX操作系统来说,改变目录的命令也是cd命令,以下是正确的UNIX cd命令:
cd /tmp
cd /Tmp
但tmp和Tmp是两个不同的目录。以下两条命令:
cd/tmp
CD /tmp
已经不是cd命令了。
3、在一行中运行多个命令
可以在一行中输入多个命令,命令间用“;”分开,如:
mkdir tmp ; cp file1 tmp/file2 ; ls -l tmp
UNIX会顺序执行以上三条命令。
4、在后台运行程序
要让程序在后台执行,只需在命令行的最后加上“&”符号。
[例1] 在后台运行find命令,在当前目录及其子目路下查找文件名为abc的文件。
执行命令和立即显示的内容如下:
$ find . -name abc -print&
10722
$
...
10722表示进程号(PID)。当find命令在后台执行完后,会显示结果。
当在后台运行命令时,最好将其输出重定向输出到一个文件中去,以便以后检查。
[例2] 在后台运行find命令,在当前目录及其子目路下查找文件名为abc的文件并将结果存到myfind文件中。
执行命令如下:
$ find . -name abc -print>;myfind&
在运行后台程序的同时可以继续输入命令。
5、nohup命令
当终端退出后,由该终端启动的后台程序自动退出。要想终端退出后程序不停止运行,则要用nohup命令启动后台程序。如对于例2的命令加入nohup后变为:
$ nohup find . -name abc -print>;myfind&
二、特殊按键
在UNIX命令操作中有一些特殊键,列表如下:
Ctrl + d 结束键盘输入或退出当前shell
Del 中断键,停止当前动作回到shell
Ctrl+s 暂停屏幕输出
Ctrl+q 继续屏幕输出
Ctrl+u kill键,删除光标所在行的所有字符
Esc 结束当前的操作状态(如vi)
三、UNIX常用简单命令
下表列出了几个简单的UNIX命令:
解释 UNIX命令 命令举例
查看帮助信息 man mandate
查看日期 date date
显示日历 cal cal1998
显示大写大字 bannerbanner “ABCD”
计算器 bc bc
修改口令 passwdpasswd
查看谁在使用系统 whowho
查看我是谁 who am iwho am i
显示用户信息 fingerfinger 用户名
清除屏幕 clearclear
1、man命令 - 查看帮助信息
举例:
查看man的使用方法: man
查看finger命令的帮助信息: man finger
2、date命令 - 显示、修改日期和时间
显示时间的命令如下:
date
显示如下:
Mon Aug 17 13:43:14 NST 1998
表示NST标准时间,1998年8月17日13:43:14,星期一。
3、cal命令 - 显示日历
举例:
显示1998年全年日历: cal 1998
显示1998年8月日历: cal 8 1998
4、banner命令 - 显示大写大字
举例:在屏幕上用大字显示“HUAWEI”,命令如下
banner "HUAWEI"
5、bc命令 - 简单计算器
bc命令可以进行加、减、乘、除、求模、乘方运算,运算符分别为“+”“-”“*”“/”“%”“^”。bc使用举例如下
bc
以后输入算式即可,如:
1234 * 3 + 2^4
按回车显示结果,以后等待输入其它算式。按<Ctrl>;+d键退出bc。
6、passwd命令 - 修改口令
要修改自己的口令,只需运行:
passwd
以后系统会提示输入原来口令,并输入新口令。
7、who命令 - 查看正在使用UNIX的用户
用法如下:
who
系统会显示正在使用UNIX的用户名、终端号和登录时间。要查看使用者自己的信息,运行:
who am i
8、finger命令 - 显示用户信息
finger命令比who命令显示的信息量大,功能强。基本使用方法如下:
显示登录信息: finger
显示smith用户详细信息: finger smith
9、clear命令 - 清除屏幕
clear
四、UNIX用户间简单通讯命令
UNIX提供许多方式让用户相互通信,它允许你以文本的方式发送及接收信息。你可以传递信息给其他用户、所有用户、或自己。信息来源可以是文本文件或直接由键盘输入的内容。
(一)write 命令
可使用write 实用程序向已登录的另一个用户发送一条报文,当对方也使用write 命令时,双方之间就建立了通信。
当用户使用write 命令时,就在对方用户终端上显示提示信息。write 命令的格式如下:
write destination-user [terminal]
其中,destination-user是你想与之通信的用户注册名,通常使用who 命令查看其注册名。如果对方在多台终端上登录,可通过用terminal 来控制write 的报文送向指定的终端。为了建立与其他用户的双向通话,用户和对方每次必须执行write 命令,且必须指定注册名。一般在使用UNIX 进行通话时,通信双方有一些约定:用“o” 表示结束一条报文,“oo” 表示结束这次通信,用ctrl-d 退出write 命令。
[例1] UNIX上两用户alex 和jenny 通过write命令通信。
在alex的所在终端上(<CR>;表示回车):
$ write alex <CR>;
Hi Alex, are you there? o<CR>;
Message from Alex (tty11)[Sat Jan 5 15]….
Yes Jenny, I’m here. o<CR>;
……
Thank you ,Alex, bye! oo<CR>;
Ctrl-d
$
该例说明了使用write 命令实现Alex 和Jenny 的通信过程。首先Jenny 使用前两行向Alex发送了一条报文,接下来的两行是Alex 发送的报文Jenny 收到了,省略号表示他们的通信继续。最后,Jenny 用thank you,Alex,bye!oo 告诉Alex没有话要说了,并在下一行开始键入ctrl-d 来退出write 并回到shell。
(二)使用talk双方对话
talk 命令是一个虚拟通信命令,它允许登录双方通过键盘实时对话,其格式如下:
talk user-name [terminal]〈CR〉
注意,使用talk 进行双方对话时,双方使用的机器体系结构必须相同。当对方给出响应的talk命令后,双方终端上都显示
[connect established]
时,双方可双工通信了。双方可以以任意的速度从键盘输入,talk 把你的输入一行一行的显示在你和对方的屏幕上。用<Delete>;退出talk 。
(三)使用mesg 拒绝和允许接收报文
mesg 命令允许或拒绝接收由其它终端发来的write 和talk通讯信息。mesg命令在本地终端运行,其使用格式如下:
mesg [y] [n]〈CR〉
其中,y 表示允许接收,n 表示拒绝接收。如既不给出y 也不给出n ,则报告现在的许可状态。例:
[例1] 显示状态:
$mesg <CR>;
则命令的执行结果为:
is y
或 is n
[例2] 拒绝接收由其它终端发来的write和talk通讯信息:
$mesg n
$mesg
is n
(四)wall 广播式消息传递
所有登录用户都可收到该消息。仅超级用户使用该命令。wall命令有以下几种格式:
# wall
# wall filename
# wall “send a messageto all the people。”
2.4 注销(退出UNIX系统)
在每次使用完后,一定要进行注销,以防他人通过你的帐号进入系统,并保证系统的完整性。注销过程如下:在UNIX提示符下,运行:
$ exit
或
$ logout
或直接按键:
Ctrl+d。
由于UNIX操作系统的不同,注销的命令也可能不同。
--------------------------------------------------------------------------------
3.5 UNIX文件存取权限
一、文件的存取权限
UNIX文件的存取有三种权限:
权限 普通文件的存取权限目录的存取权限
R 具有读取文件的权利能读取文件名称
W 具有写入文件的权利能建立和删除文件,可以改变文件名
X 具有执行文件的权利能使用该目录下的文件(如cd命令)搜索文件等
二、能够存取文件的用户类型
有三种类型的用户可以存取文件:
用户类型 说明
owner 文件的属主(拥有者)
group 用户组内成员
other 其他用户(非owner和非group)
每种类型的用户都有三种文件存取权限:r、w、x。
三、文件存取权限的显示
可以通过”ls -l”命令显示,如:
$ ls -l file1
显示如下:
-rwxr-xr-- 2 wjm newservice 321 Oct 1709:33 file1
上行中:
第2-4字符”rwx”表示此文件属主wjm对文件file1的权利为”可读、可写、可执行”;
第5-7字符”r-x” 表示此用户组newservice内的用户对文件file1的权利为:
”可读、不可写、可执行”;
第8-10字符”r--” 表示其他用户对文件file1的权利为”可读、不可写、不可执行”
四、文件存取权限的修改
用chmod命令修改文件的存取权限,chmod命令的格式如下:
格式1:chmod symbolic_mode file…
格式2:chmod absolute_mode file…
(一)格式1:符号模式(symbolic_mode), 符号模式的命令格式如下:
chmod [who] op permision file…
who项表示用户类型,它的内容为以下一项或多项:
U 文件属主(user --- owner)
G 用户组(group)
O 其他人(other)
A 所有人(all)
op项表示动作:
+ 表示要加上permission指定的权利
- 表示要取消permission指定的权利
permission项为存取权限,它的内容为以下一项或多项:
r 表示可读
w 表示可写
x 表示可执行
举例:
chmod u+w test report 属主对test和report文件“可写”
chmod u-x abc.c 属主对abc.c文件不可执行
chmod u+rwx myfile1 属主对myfile1“可读、可写、可执行”
chmod ugo+rwx myfile2 任何人都对myfile1“可读、可写、可执行”
(二)格式2:绝对模式(absolute_mode), 符号模式的命令格式如下:
chmod xyz file…
x、y、z分别是0-7的数字,分别表示属主、用户组、其他人对该文件的存取权限。x、y、z的取值公式均为:
a*4 + b*2 +c
其中,
a=1分别表示可读,a=0表示不可读;
b=1分别表示可写,b=0表示不可写;
c=1分别表示可执行,c=0表示不可执行;
举例:
chmod 751 ncp 属主对ncp拥有“可读、可写、可执行”的全部权利;组内成员对ncp只有“可读、可执行”的权利;其他用户对ncp只有“可执行”的权利。
五、改变文件属主及文件所在组
改变文件属主的格式如下:
chown 属主名 文件名
必须对文件具有write权利才可改变文件的属主。
改变文件所在组的格式如下:
chgrp 组名 文件名
必须是文件的属主或supervisor才能改变文件组别的归属。
举例:
chown wjm test1 将文件test1的属主改为wjm
chgrp newservice test1 将文件test1的用户组改为newservice
3.6 UNIX重定向与管道
UNIX重定向 将文件的标准输出重新定向输出到文件,或将数据文件作为另一程序的标准输入内容。重定向符号如下:
< 重定向输入
>; 重定向输出
>;>; 重定向输出并追加到尾部
例如:
ls -l >; file1 将ls -l命令显示的内容存到file1中,
ls >;>; file1 将ls 命令显示的内容附加存到file1的尾部
grep abc < file1 将file1的内容作为grep abc命令的输入
其中,">;"和">;>;"为输出重定向符,">;"将输出内容存到重定向文件中,若文件存在,则先删除原有内容;">;>;"将输出内容存到重定向文件的尾部。
UNIX管道 将一文件的输出作为另一文件的输入。管道符号如下:
| 将左边命令的输出,作为右边命令的输入
例如:
ls|more 将ls的输出作为more命令的输入
ps -ef|grep smith ps -ef的输出作为grep smith命令的输入
3.7 UNIX文件系统常用命令
UNIX命令 UNIX命令举例 类似DOS命令
显示当前目录 pwd pwdcd
改变目录 cd cd/usr cd c:\usr
进入家目录 cd cd
创建目录 mkdirmkdir abc md abc
删除空目录 rmdirrmdir abc rd abc
删除目录及其内容 rm -rrm -r abc deltree abc
显示目录内容 ls lsabcls -l abc(文件长列表)ls -aabc(所有类型文件)ls -d *(不进子目录) dir abc
显示文本文件内容 catcat file1.c type file1.c
一次一屏显示文本文件内容more more file1.c
拷贝文件 cp cpfile1 file2 file1 file2
移动(重命名)文件 mv mv call.test call.listmove call.tst call.lstren call.test bbb
删除文件 rm rmcall.list delcall.lst
一、pwd命令
pwd命令用来显示当前目录路径,命令如下:
pwd
二、cd命令
cd命令用于改变当前的目录,如:
命令举例 说明
cd /usr/smith 改变到/usr/smith目录
cd ../wjm 改变到父目录下的wjm子目录
cd exam1 改变到当前目录下的exam1子目录
cd 改变到家目录
不带参数的cd命令表示进入家目录,这点与DOS有本质区别。
三、rm命令
rm命令可以删除文件及目录,举例如下:
命令举例 说明
rm file2 删除当前目录下的文件file2
rm file* 删除当前目录下以file开头的文件
rm -r /usr/wjm/exam2 删除目录/usr/wjm/exam2及其内容
四、ls命令
ls命令可以显示目录内容,命令格式如下:
ls -选项 文件名
其中的常用选项说明如下:
-l 长列表显示目录内容
-a 显示所有类型文件,包括隐含文件
-d 如果显示内容包含目录名,则只显示目录名字不显示目录内容
命令举例如下:
命令举例 说明
ls 显示当前目录内容
ls file* 显示除当前目录下以file开头的文件
ls -l /usr/wjm/exam2 长列表显示目录/usr/wjm/exam2内容
ls -adl 显示当前目录内容(同时带-l、-d、-a参数)
[注] ”ls -l”命令显示格式如下:
drwxrwxr-x 2 smith group 48 Jan 05 1998 john
-rwxr-xr-- 1 wjm newservice 321 Oct 17 09:33 file2
上面每行中:
第一列:
第1个字符表示文件的类型(d表示目录,-表示普通文件);
第2-4字符表示文件属主对此文件的访问权限(如:“rwx”和“rwx”);
第5-7字符表示用户组对此文件的访问权限(如:“rwx”和“r-x”);
第8-10字符表示其他用户对此文件的访问权限(如:“r-x”和“r--”);
其中,访问权限用三个字符表示,顺序是“rwx”,“r”表示可读、“w”表示
可写、“x”表示可执行。若某项禁止访问则为“-”,如:“r-x”表示可读、
不可写、可执行;
第二列:此文件的链接数(如:2和1);
第三列:此文件的属主名(如:smith和wjm);
第四列:用户组名(如:group和newservice);
第五列:文件所占字节数(如:48和321);
第六至八列:最后修改的日期和时间(如:“Jan 05 1998”和“Oct 17 09:33”);
第九列:文件名(如:john和file2)。
五、mkdir、rmdir、cat、more、cp、mv命令
这些命令和DOS的相应命令功能和用法基本一致,它们和DOS命令的对应关系如下:
UNIX命令 DOS命令
mkdir mkdir或md
rmdir rmdir或rd
cat type
more more
cp
mv move或ren
本文来自CSDN博客:http://blog.csdn.net/chinayuan/archive/2008/10/14/3072562.aspx
10. unix kill -9 与kill 有什么区别
区别:
1、kill -9 id:一般不加参数kill是使用15来杀,这相当于正常停止进程,停止进程的时候会释放进程所占用的资源;他们的区别就好比电脑关机中的软关机(通过“开始”菜单选择“关机”)与硬关机(直接切断电源),虽然都能关机,但是程序所作的处理是不一样的。
2、kill - 9 表示强制杀死该进程;而 kill 则有局限性,例如后台进程,守护进程等;
3、执行kill命令,系统会发送一个SIGTERM信号给对应的程序。SIGTERM多半是会被阻塞的。kill -9命令,系统给对应程序发送的信号是SIGKILL,即exit。exit信号不会被系统阻塞,所以kill -9能顺利杀掉进程。
(10)unixkill命令详解扩展阅读:
UNIX操作系统(尤尼斯),是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由KenThompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发。
目前它的商标权由国际开放标准组织所拥有,只有符合单一UNIX规范的UNIX系统才能使用UNIX这个名称,否则只能称为类UNIX(UNIX-like)。
UNIX用户协会最早从20世纪80年代开始标准化工作,1984年颁布了试用标准。后来IEEE为此制定了POSIX标准(即IEEE1003标准)国际标准名称为ISO/IEC9945.它通过一组最小的功能定义了在UNIX操作系统和应用程序之间兼容的语言接口。
POSIX是由Richard Stallman 应IEEE的要求而提议的一个易于记忆的名称,含义是Portable OPerating System Interface(可移植操作系统接口) ,而X表明其API的传承。