《Linux系统分析与高级编程技术》读书笔记
第二章 外壳和常用命令
Bourne外壳(bsh) => bash
C外壳(csh) => tcsh
Korn外壳(ksh) => pdksh(Pulic Domain Korn)
bash常用命令
>passwd
>rlogin 主机名 [-l 用户名]
>telent 主机名或IP地址
>ls [-atFlgR] [name]
ls -a
ls -l
ls -lg
ls -t
ls -f /目录名 *可执行文件 @符号连接
ls -r
>cp [源地址名] [目标地址名]
cp file1 file2
cp file1 /dir1
cp /tmp/file1 .
cp -r dir1 dir2
>mv 源地址 目标地址
mv file1 file2
mv file1 dir1
mv dir1 dir2
>mk 目录名
>rm name
rm dir1
rm -r dir1
rm file1
rm file1?
rm f*
>pwd
>cat file
>more file 或者 cat file |more
>du [-s] 目录
du dir1
du -s dir1
>rcp [-r] 源地址 主机名:目录
rcp file1 doc:/home/user
rcp -r dir1 doc/home/user
rcp [-r] 主机名:源地址 目标地址
rcp doc:/home/user/file1 file2
rcp -r doc:/home/user/dir1 .
>ftp 主机名或IP
ftp>help
ftp>!ls, !pwd
ftp>ls,dir, dir . |more, pwd,
ftp>get file1, put file1, mget *.c, mput *.txt
ftp>quit, bye
>chmod [-r] mode name
mode: 3个8为数字(??)或rwx组合
r-read w-write x-execute
u-user g-group o-other
chmod u+x file1
chmod o-r file1
chmode [-r] user name
chmod -r user file1
>groups
>touch name
>ln 老文件名 新文件名
>grep string file
>whereis command
which command
whatis command
>find search_path -name filename -print
find / -name file1 -print
>diff [-r] name1 name2
diff file1 file2
diff -r dir1 dir2
文件打印
>可以用.login文件中的 setenv PRINTER 来设定打印机名
setenv PRINTER sp 设定自sp打印机打印资料
打印普通文件
>lpr [-P打印机名] 文件名
lpr file1
lpr -Psp file1 自sp打印机打印文件file1
>enscript [-P打印机名] 文件名
enscript file3
enscript -Psp file3
打印机控制命令
>lpq [-P打印机名]
>lprm [-P打印机名] 用户名或作业编号
进程控制
>ps [-aux]
ps或ps -x
ps -au
ps -aux
>kill [-9] PID
>命令 &
cc file1.c &
Control+Z : 暂停正在执行的进程
bg命令: 将暂停的进程置于后台继续执行
cc file2.c
^Z
Stopped
bg
>jobs
>kill %n
n:利用jobs命令查看出的后台作业号
kill %
kill %2
外壳变量
>set
echo $变量名
>set var=value
unset var
环境变量
>setenv
echo $NAME
>setenv NAME word
unsetenv NAME
别名
>alias
alias name
>alias name "command line"
unalias name
历史命令
>set history=n
命令记录表的长度
>history
>!!
>!n
n命令记录表的命令号
>!string
>^oldstring ^newstring
find . -name file1.c -print
^file1.c ^core
file . -name core -print
文件压缩
>compress 文件名
compressdir 目录名
umcompress 文件名
umcompressdir 目录名
管道命令
>命令1 |命令2
将命令1的执行结果送到命令2,作为命令2的输入
cat file1 | more
输入/输出控制
>命令<文件
mail -s "mail test" ***@hotmail.com <file1
>命令>文件
ls -l > MyList
命令>!文件
命令>&文件
命令>>文件
命令>>&文件
用户
>who
finger
finger 用户名 或 finger 用户名@域名
who am i
>su 用户名
>rusers
^C 结束
>talk 用户名@主机名 或 talk 用户名@IP地址
>ping 主机名或IP
>mail -s "主题" 用户名@地址 < 文件
mail -s "program" user <file.c
mail 用户名
mail 用户名@接受地址
mail ***@hotmail.com
Subject :mail test
.....
mail正文
.....
^D 结束正文
^C^C ,放弃不发送此邮件
CC 抄送其他收件人
>/usr/lib/sendmail -bp