1. 启动shell
1.1 /etc/passwd
/etc/passwd 包含了所有系统帐号的的列表及每个帐号的基本信息
root:x:0:0:root:/root:/bin/bash
1.2 .bashrc 文件
默认情况下,bash shell 启动时会自动处理用户主目录下面的 .bashrc 文件,把.bashrc 里面的命令都执行一遍;所以可以在.bashrc 里面设置 环境变量和 alias 一些常见的复杂的命令。
alias cm3='ssh hostname.cm3'
1.3 shell 提示符
默认的shell 提示符是: $,这个符号表明shell 在等待用户输入,但可以更改shell 提示符的格式;
[zengtai@hsotname ~]$
echo $PS1 #PS1:默认控制行提示的格式 [\u@\H \W]\$ echo $PS2 #后续命令行提示符的格式 >
2. 文件目录
- ls 命令
ls -Alh #不显示 . ..
ls -RF #递归显示 目录的内容
ls -s #输出文件块的大小
ls -S #按文件大小排序输出
ls -i #显示文件的索引值(inode)
- ls 支持正则表达式
ls /home/user/*
- 连接文件
ln -s source.txt softsource #建立一个 urce.txt 的软连接:softsource
ln source.txt hardworksource #建立一个source.txt 的硬连接 :hardworksource
3. 查看文件内容
- stat 命令
stat t
File: `t'
Size: 401 Blocks: 8 IO Block: 4096 regular file
Device: fd01h/64769d Inode: 26017795 Links: 1
Access: (0644/-rw-r--r--) Uid: (53549/zengtai.csm) Gid: ( 100/ users)
Access: 2013-01-20 16:41:38.000000000 +0800
Modify: 2012-09-04 16:19:09.000000000 +0800
Change: 2012-09-04 16:19:47.000000000 +0800
- file 文件命令
file t
t: ASCII text, with very long lines
file test.sh
test.sh: a perl script text executable
- cat 命令 :查看一个文件 echo 打印一个变量 这二者的区别容易混淆
cat -sb t.txt # s:只给文本线上行号 b:把多个空行压缩成一个空行
cat -n t.txt #所有的行包括空行都打印行号
- less more cat
less more 都可以线上文件一部分内容,但是 more是先把读取文件的所有内容然后再显示一屏,但less 是读取一屏内容,显示一屏内容;更加高效。
- tail head
tail -20 head -30 默认是 10 tail -f file|grep ...
4. 监控 进程process
当应用程序在linux 上面运行我们就称之为进程;所以每一个进程都是一个应用程序。
ps -ef #e:显示所有的进程 f:显示完整格式的输出
ps -aux #a:显示除控制进程和无终端进程外的所有进程 u:显示所有/etc/passwd 有效用户的进程
ps -efH #显示父子进程
5. top 命令
top:TIME+ TIME 具体的计算方法是怎样的?
top的快捷键: 1 f -> l enter
6. 结束进程的命令
- kill 命令:kill单个进程 kill -9 pid
for i in `ps -u ads|grep nginx|awk '{print $1}'`;do sudo -u user kill -9 $i; done
- killall 命令:支持通过进程名来结束进程
cd /home/a/share/nginc/sbin;sudo killall -9 ./nginxctl
7. 处理数据文件
- sort sort 默认按 字符串排序
cat t.txt |sort -t':' -k3 -n # 以 : 作为分隔符 按第三列 按数字从小到大(r:是从达到小)排序 t参数:默认是空格啊
sudo du -sh /../* |sort -nr 按大小从大到小排列
- grep 搜索数据
grep -e reg1 -e reg2 t.txt # 匹配reg1 或者 reg2的行 grep 'reg1' -n t.xt # 线上匹配的行数
8. 压缩数据命令
常用的压缩工具:gzip zip bzip2;这个三个命令分别是系统中的三个rpm包;并非是可执行文件;所以在系统中要安装这些包才能用;否则不能用:
rpm -qa|grep zip|sort
bzip2-1.0.3-6.el5_5
gzip-1.3.5-13.el5
zip-2.31-2.el5
- gzip 工具
gzip 支持通配符一次压缩多个文件,但是每一个文件都压缩成一个.gz 文件;不能多个文件压缩成一个文件:rpm -ql gzip-1.3.5-13.el5 #gzip 的rpm包 /bin/gunzip #gunzip 解压缩文件的命令 /bin/gzip #gzip 压缩文件的命令 /bin/zcat #打印压缩文件zcat .gz|wc -l 查看压缩文件的条数 /usr/bin/zdiff #对比两个压缩文件
touch t1 t2 t3 t4 t5 ls check_tt3.log_test t1 t2 t3 t4 t5 gzip `ls ./*` #把 ls ./* 下面的所有文件都各自压缩成 对应的.gz 文件
touch t6 t7 gunzip `ls ./*.gz` #把所有的 .gz文件加压缩到原来的名字 ;并且在当前目录下面 ls check_tt3.log_test t1 t2 t3 t4 t5 t6 t7
- zip工具: .zip 文件 优势: 可以将这个目录下面的所有文档压缩成一个 .zip 文件
查看zip 压缩文件中的所有文件:zip zegntai.zip ~zengtai.csm/* #后面这 * 一定要加 不然只会压缩一个根目录 adding: home/zengtai.csm/bin/ (stored 0%) adding: home/zengtai.csm/check_tt3_process.sh (deflated 34%) adding: home/zengtai.csm/ecpm.ads.ssh2.tar (deflated 85%) adding: home/zengtai.csm/kkkstat2 (deflated 75%) adding: home/zengtai.csm/nohup.out (deflated 75%) adding: home/zengtai.csm/t1 (stored 0%) adding: home/zengtai.csm/t2 (stored 0%) adding: home/zengtai.csm/test/ (stored 0%) adding: home/zengtai.csm/test.zip (stored 0%) adding: home/zengtai.csm/tt3/ (stored 0%)
解压缩zip 文件必须要mv到一个目录下面;因为unzip会把原来的目录复原,所以之前的的文件、目录都会从新建立;如果有冲突会unzip -h 看参数:unzip -l zegntai.zip Archive: zegntai.zip Length Date Time Name -------- ---- ---- ---- 0 10-15-12 22:14 home/zengtai.csm/bin/ 318 09-14-12 23:45 home/zengtai.csm/check_tt3_process.sh 10240 08-20-12 19:47 home/zengtai.csm/ecpm.ads.ssh2.tar 31272 09-26-12 19:55 home/zengtai.csm/kkkstat2 952 12-04-12 10:00 home/zengtai.csm/nohup.out 15 12-19-12 16:55 home/zengtai.csm/t1 15 12-19-12 16:55 home/zengtai.csm/t2 0 02-02-13 17:50 home/zengtai.csm/test/ 140 02-02-13 17:47 home/zengtai.csm/test.zip 0 02-02-13 17:43 home/zengtai.csm/tt3/ -------- ------- 42952 10 files
mv zegntai.zip ./test #移到单独的一个目录 unzip zegntai.zip Archive: zegntai.zip creating: home/zengtai.csm/bin/ inflating: home/zengtai.csm/check_tt3_process.sh inflating: home/zengtai.csm/ecpm.ads.ssh2.tar inflating: home/zengtai.csm/kfcstat2 inflating: home/zengtai.csm/nohup.out extracting: home/zengtai.csm/t1 extracting: home/zengtai.csm/t2 creating: home/zengtai.csm/test/ extracting: home/zengtai.csm/test.zip creating: home/zengtai.csm/tt3/ ls home zegntai.zip #/home 就是整个目录
- bzip2 压缩工具:bzip2 压缩工具跟gzip 是一样的;一个文件只能压缩成一个.bzip2 ;bunzip2 *.bzip2 解压缩文件到原来的文件:
rpm -ql bzip2-1.0.3-6.el5_5 /usr/bin/bunzip2 /usr/bin/bzcat /usr/bin/bzcmp /usr/bin/bzdiff /usr/bin/bzgrep /usr/bin/bzip2 /usr/bin/bzip2recover
bzip2 `ls ./*` ls ./*.bz2 ./check_ea.sh.bz2 ./ecpm.ads.ssh2.tgz.bz2 ./kfcstat2.bz2 ./linshi.bz2 ./t.bz2 ./ea_restart.bz2 ./help_kfc_server.bz2 ./libinner.so.conf.rpmnew.bz2 ./setup_common_ecpm.sh.bz2 bunzip2 ./*.bz2 ls bin check_ea.sh data ea_restart ecpm.ads.ssh2.tgz help_kfc_server kfcstat2 libinner.so.conf.rpmnew linshi setup_common_ecpm.sh t
8. tar 归档文件
- tar 重用命令 :
tar -cvf test.tar ./* ./bin/ ./bin/kkkstat ./check_ea.sh ./data/ ./libinner.so.conf.rpmnew ./linshi ./setup_common_ecpm.sh ./t ls -l test.tar -rw-r--r-- 1 zengtai.csm users 624640 Feb 2 18:27 test.tar
注意:我们一般归档一些文件时要对 绝对路径 进行归档;这样在cp到其他机器解压缩时直接 -C / 即可;不用还cp到指定的目录来压缩tar -xvf test.tar ./bin/ ./bin/kfcstat2 ./check_ea.sh ./data/ ./libinner.so.conf.rpmnew ./linshi ./setup_common_ecpm.sh ./t
- tar 最常用的是归档、压缩文件一起用;
注意: czvf xzvfsudo tar czvf ~/test.user.ssh2.tgz /home/user/.ssh sudo scp -p hostname:~/test.user.ssh2.tgz ./ sudo tar xzvf ./test.user.ssh2.tgz -C / ## -C / 指定解压缩到 根目录:/