📄 unix系统常用命令.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0048)http://www.linuxforum.net/books/jy/M.924703948.A -->
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD>
<BODY><PRE>发信人: albin (阿乐斌), 信区: LINUX
标 题: LINUX选修课讲义:UNIX常用命令
发信站: 碧海青天 (Wed Apr 21 23:14:19 1999), 转信
版权声明:
本文内容为大连理工大学LINUX选修课讲义,欢迎大家转载,但禁止使用本材料进行
任何商业性或赢利性活动。转载时请保留本版权声明。
作者:何斌武,hbwork@dlut.edu.cn,大连理工大学网络中心,April 1999.
URL: ftp://ftp.dlut.edu.cn/pub/PEOPLE/albin/
------------------------------------------------------------------------------
四、UNIX系统常用命令
UNIX系统常用命令格式:
command [flags] [argument1] [argument2] ...
其中flags以-开始,多个flags可用一个-连起来,如ls -l -a 与ls -la相同。
根据命令的不同,参数分为可选的或必须的;所有的命令从标准输入接受输入,输出
结果显示在标准输出,而错误信息则显示在标准错误输出设备。可使用重定向功能对
这些设备进行重定向。
命令在正常执行结果后返回一个0值,如果命令出错可未完全完成,则返回一个
非零值(在shell中可用变量$?查看). 在shell script中可用此返回值作为控制逻辑
的一部分。
注:不同的UNIX版本的flags可能有所不同。
1、与用户相关的命令
1.1 login
(在LINUX Redhat下此命令功能与Solaris/BSD不同,执行login会退出当前任务).
login:
Password:
相关文件:
在下面的这些文件中设定shell运行时必要的路径,终端类型,其他变量或特殊程序.
$HOME/.profile (Bourne shell, sh, bash)
$HOME/.cshrc (csh, tcsh)
$HOME/.tcshrc (tcsh)
/etc/passwd文件中列出每个用户的shell
/etc/csh.cshrc
/etc/csh.login
/etc/profile (Bourne shell, bash)
/etc/login (Bourne shell, bash)
csh: /etc/csh.cshrc和$HOME/.cshrc每次执行都会读取,
而/etc/csh.login和$HOME/.login只有注册shell才执行
修改相应文件后使用 source .cshrc使能相关修改,如果修改了path则
还需使用rehash刷新可执行文件hash表。
tcsh: $HOME/.tcshrc, 没有些文件读取.cshrc
sh: /etc/profile和$HOME/.profile注册shell
bash: /etc/profile和$HOME/.bash_profile注册shell读取
.bashrc交互式非注册shell才读取。
在sh/bash下手工执行相关文件:
. /etc/profile
相关文件执行顺序
sh: /etc/profile -> $HOME/.profile
csh/tcsh: /etc/csh.cshrc -> /etc/csh.login -> $HOME/.cshrc
-> $HOME/.login
变量的设置:
sh/bash: TERM=vt100; export TERM
OR: export TERM=vt100 (bash)
csh: setenv TERM vt100
常用变量:
(1)Backspace $HOME/.profile $HOME/.cshrc
stty erase ^H
(2)umask 新建文件或目录的保护属性
(3)TERM
(4)切忌PATH中加入 .
1.2. rlogin
与telnet类似,连接到远程主机.
rlogin remotehost [ -l loginname ]
Or:
rsh [-l loginname] remotehost [command ]
相关文件:
远程主机的 /etc/hosts.equiv 和 $HOME/.rhosts
相关网络配置文件:
/etc/inetd.conf文件中的r系统服务.Redhat下为shell, login, exec, 对应
的网络守护进程(daemon)为in.rshd, in.rlogind, in.rexecd.
建议: 从安全角度出发,关闭r系列服务.
1.3. telnet
telnet remotehost [port]
相关文件:
/etc/inetd.conf文件中的telnet服务.
/etc/issue.net
TIPS: strings /usr/sbin/in.telnetd |egrep issue
1.4. passwd 更改口令
1.5 exit 退出当前shell
2. 命令或文件的查找
相关shell变量:
csh/tcsh: $path
.cshrc set path=(/usr/bin /usr/local/bin $path)
sh/bash: $PATH
.profile .bash_profile
PATH=/usr/local/bin:$PATH; export PATH
2.1 which
Syntax: which command
which为bash/tcsh内带命令
[hbwork@toshiba]$ which which
which: shell built-in command.
2.2 where(tcsh)
Syntax: where command
2.3 locate (LINUX)
Syntax: locate filename
相关命令: updatedb更改locate文件名数据库
3. 查看命令的用法
man
相关文件:
/etc/man.config
4. 管理员常用命令
4.1 install
用于安装一个新的命令或daemon等. 一般情况下可以不用,但很多软件在其安装
shell script中使用install将目标文件复制到相应的目录并设置正确的属性等.
NAME
install - copy files and set their attributes
SYNOPSIS
install [options] [-s] [--strip] source dest
install [options] [-s] [--strip] source... directory
install [options] [-d,--directory] directory...
Options:
[-c] [-g group] [-m mode] [-o owner] [--group=group]
[--mode=mode] [--owner=owner] [--help] [--version]
4.2 shutdown
不同的unix参数不尽相同,在linux下常用如下方式关机:
shutdown -h now
shutdown -r now (等同于reboot)
4.3 halt
poweroff
关机,在多用户方式下(Runlevel 3)不建议使用,
4.4 ulimit
korn shell和bourne shell中可用此命令,在csh系列中相应的命令为limit.
用于限制每个进程可使用的系统资源,通常分两种限制:
. Hard limits 系统所定义的资源,只有root能更改
. 软限制 对新建进程所使用的限制,可增加到系统的Hard Limit.
Flags:
-a 列出软限制
-Ha 列出Hard Limit
-c size 设置coredump size的块大小
-t size cputime
-f size file size
4.5 umask 系统管理员用于设置用户默认的umask值.
5.与进程相关的命令
进程基本概念: 进程与命令的执行相关,但并不是一一对应; 一条命令可能对应若干
个进程(如shell script, pipe等).但最简单的命令与umask只有一个进程.
进程分类:
.交互式进程:可以前台或后台执行,前后台可切换
.批处理进程:不通过终端提交,一般将它们放在任务队列中顺序执行. 如通过
at 和 crontab提交的任务.
.deamon:永不终止的进程,等待响应来自其他进程的服务请求.如sendmail,
named(DNS), POP3及apache等.
进程的相关属性:
PID
Real UID
Effective UID (SUID)
Real GID
Effective GID (SGID)
Priority(Nice Number)执行的优先级
5.1 ps
Process Status, 列出当前运行的进程状态,根据选项不同,可列出所有的或部分进程
. 无选项时只列出从当前终端上启动的进程(SYSV)或当前用户($USER)的进程(BSD),
不同的UNIX版本之间有差别. linux使用BSD版本的ps
. BSD版本ps命令使用方法:
ps
ps aux 列出系统中所有的进程的详细情况
ps aux |egrep inetd
输出信息内容:
PID
Terminal 如无相应终端则为-
cpu time
UserID or Username
进程启动时间或日期
进程状态(Stat: S(leep) R(unnable) D(uninterrupt sleep) Z(ombie)
W 进程没有驻留页面, N: 进程的nice值为负值
5.2 kill
kill [-signal] PID
kill -l 列出可用信号量
常用信息量:
-HUP (1) 重启进程
ps ax |egrep inetd
kill -HUP pid_of_inetd
-KILL (9) 强制中止
PID取值含义:
>0 指特定进程(实际进程)
=0 同组用户的所有process(PGID)
=-1 Effective UID = 执行命令用户之uid
<0 && !=1 取绝对值之进程
5.3 nice
用于改变一个或多个进程的优先级; 但只有root或提高进程的优先级, 普通用户只能
降低进程的优先级.
nice用负数表示提高优先级,而正数表明降低优先级,通常此值范围是-20~20.
如未指定提高优先级,nice会降低或不改变进程的优先级. 当然如果没有权限的话
进程的优先级不会有任何改变.
一般情况下我们用nice来降低后台进程的优先级(默认优先级为10).
nice find . -name "*.c" -print &
nice 16 find . -name "*.c" -print &
5.4 wait
wait PID
等待作业结束,参数为pid,在shell script中有时用到.
5.5 nohup
nohup command &
5.6 sleep
sleep seconds
进程前后台切换: Ctrl-Z, fg, bg
6. 通讯
6.1 ftp
6.2 mailx
6.3 minicom (串口终端,MODEM)
7. 文件比较
cmp
comm
diff (用于比较文本文件)
diff3 (比较3个文件)
sdiff
8. 文件操作
touch 创建文件,修改文件日期等
chmod
chwon
chgrp
rm 慎用 rm -rf
mv 移动文件或改名
cp cp -r 复制目录
cat
rcp 远程复制
ln 默认情况下为硬连接,每个文件具有相同的inode
ln -s sourcefile targetfile
9. 目录操作
mkdir [-p] [-m mode] directory
rmdir [-p] directory
10. 文件信息命令
ls
find
最基本的功能是查找一个文件名或目录,常用格式如下:
find . -print (类似于 ls -lR)
find可使用如下属性进行查找:
-name 查找文件名,含通配符*?的文件名用引号括起来
-perm 00x000 八进制文件属性
-atime n n天之前访问过的文件
-mtime n n天之间修改过的文件
-ctime n 文件的状态在n前之间修改过
-exec command 如命令的返回代码为零(找到相应的文件)则真,command必须以
\; 结果,此外在命令的执行中 {} 为查找到的文件路径名
-ok command 与exec相类似,但在执行每个命令之间要求用户确认
-print 打印当前路径名
-newer filename 如文件的最后修改日期较filename新则为真
-type c c=[b,c,d,l,p,f]文件类型
-user username 如文件的属主为username则为真
-nouser 文件属主在/etc/passwd文件中不存在
-group grouname 文件组
逻辑运算符: -a -o !
示列:
find $HOME \( -name a.out -o -name "*.o" \) -atime +7 -exec rm {} \;
find . -atime 0 -print
find / .name .profile -print
find . -perm 777 -a -mtime 7 -exec chmod 755 {} \;
file
more
less
tail (tail -f filename)
head
wc
read 用于shell编程
col
pg (SYSV)
11. 编辑器
vi
ed
joe
12. 文件内容查找
grep
egrep
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -