2013年(9)
分类: LINUX
2013-07-19 21:28:33
shutdown -h now
init 0
shutdown -r now
init 6
reboot
查看主机名
hostname
输出环境变量
echo $PATH
辅助提示符
root用户:#
普通用户:$
ctrl+u删除光标左边所有字符
ctrl+k删除光标右边所有字符
pwd,查看当前目录
cd,切换工作目录
“.”,当前目录
“..”,上一级目录
“~”,用户主目录
cd ~tom,切换目录到tom的主目录
“-”,上一个工作目录
ls
-l:以长格式显示
-d:显示目录本身的信息
-t:按文件修改时间
-r:
-a:显示所有子目录和文件信息
-A:类似“-a”,不包括“.”和“..”
文件类型:
“-”:常规文件
“d”:目录
“l”:符号链接
”c“:字符设备节点
”b“:块设备节点
mkdir 创建新的目录,rmdir 删除空的目录
mkdir -p /abc/def 创建目录/abc/def,如果/abc不存在则同时创建/abc目录
mkdir -m 534 new1 创建目录的同时设置权限
rm -r new1 删除目录new1
rmdir 删除空的目录
du 统计目录及文件的空间占用情况
-a:统计时包括所有的文件,而不仅仅只统计目录
-h :以更易读的单位(K,M等)
-s:只统计每个参数所占用空间的大小
du -hs
du -ah
touch 新建空文件,或更新文件时间标记
-a:改变文件的读取时间记录
-m:改变文件的修改时间记录
-r:使用参考文件的时间记录
-d:设定时间与日期
-c:假如目的文件不存在,不会创建新的文件。与--no-create的效果一样
touch file{1..5}
touch file1.txt file2.doc
touch -r file1.txt file2.doc
touch -ad 10:34 file.txt
touch -md 12:55 file.doc
cp 复制文件或目录
-r:递归复制整个目录树
-p:复制时保留链接,文件属性
-a:复制时保留链接,文件属性,并递归地复制目录
-v:显示复制过程
mv 移动文件或目录,如果目录位置与源位置相同,相当于改名
mv hah.txt /tmp
mv hah.txt hehe.txt
file 查看文件类型
file /bin/ls
ls -l /bin/ls
rm 删除文件或目录
-f:强行删除文件或目录,不进行提醒
-r:递归删除整个目录树
rm -rf *
硬链接,一个文件有多个不同的文件名
ln 源文件 链接文件
ln abc.txt 123.txt
每增加一个硬链接,链接数加1
删除其中一个,另一个不受影响
-rw-r--r-- 2 root root 85 Jul 15 17:12 test.c
不能为目录建立硬链接文件
硬链接与原始文件必须位于同一分区
软链接(符号链接)
ln -s 源文件 链接文件
ln -s test.c hah
lrwxrwxrwx 1 root root 6 Jul 15 17:13 hah -> test.c
ln -s /etc/sysconfig/network-scripts/ ha 为文件夹指定软链接
cat 显示出文件的全部内容
cat -n test.c 显示行号
tac 按行倒着显示文件的全部内容
more 全屏分页显示文件内容
按Enter键向下逐行滚动
按空格向下翻一屏,按b键向上翻一屏
按q键退出
less 与more命令类似
按j向上翻动一行,按k向下翻动一行
page down,page up上下翻页
head 查看文件开头部分内容(默认为10行)
head test.txt
head -5 test.txt
head -5 test.txt | wc
tail 查看结尾的部分内容(默认为10行)
tail test.txt
tail -5 test.txt
tail -5 test.txt | wc
head -n -3 不显示后3行
head -n +3 显示前3行
tail -n -3 显示后3行
tail -n +3 不显示前3行
which 查找可执行文件并显示所在位置
搜索范围有PATH环境变量指定
查看环境变量 echo $PATH
which ls
which date
which cd cd是Shell内部命令,因此查不到对应文件
whereis 查找文件路径,该文件的帮助路径,也是根据PATH路径查找
whereis which
whereis ls
locate 快速查找
locate 文件名
根据每天更新的数据库(/var/lib/mlocate)查找,速度快
不能找到自己新建的文件但会找到已经删除的文件
可以手动更新数据库updatedb
find 用于查找文件或目录
find [查找范围] [查找条件] [动作]
-name:按文件名查找
-size:按文件大小查找
-user:按文件属主查找
-type:按文件类型查找 b c d f l
-perm:按文件权限查找
-mtime:按文件更改时间查找
-o:逻辑或
-not:逻辑非,可以用“!”表示
-a:逻辑与
find /zhoudian_software/ -name "*.rpm" -size +100M
find . -name "*.rpm" -size +100M -type f -user root
find . -size +100M -o -name "*.rpm"
zip 制作.zip压缩文件
zip 压缩文件名 文件1 文件2
zip file.zip file? -->file.zip
unzip 压缩文件名 解压.zip文件
upzip file.zip
gzip 制作,解压.gz压缩文件
gzip [-9] 文件名 压缩
gzip -d .gz格式的压缩文件 解压
zcat 压缩文件名 查看压缩文件内容
-9:表示压缩比,取值0-9,默认为6,9为最高
-d:用于解压缩文件,同gunzip命令
-c:将输出重定向到标准输出
gzip不能压缩文件夹,gzip是在源文件的基础上进行压缩,
压缩后没有了源文件。
gzip -6 file?
gzip -d file?.gz
gunzip content.gz
bzip2 制作,解压.bz2压缩文件
bzip2 [-9] 文件名... 压缩
bzip2 -d .bz2格式压缩文件 解压
bzcat 压缩文件名 查看压缩文件内容
-9:表示压缩比,取值0-9,默认为6,9为最高
-d:用于解压缩文件,同bunzip2命令
-c:将输出重定向到标准输出
用法与gzip相同。
制作归档文件的意思是将许多零散的文件做成一个包(可以压缩,也可以不压缩)
tar 制作归档文件,释放归档文件
tar [选项] 归档文件名 源文件或目录
tar [选项] 归档文件名 [-C目标目录]
-c:创建.tar格式的包文件
-C:建包或解包时进入指定的目标文件夹
-x:解开.tar格式的包文件
-v:输出详细信息
-f:表示使用归档文件
-t:列表查看包内文件
-p:保持源文件的原来属性
-P:保持源文件的绝对路径
-z:调用gzip程序进行压缩或解压
-j:调用bzip2程序进行压缩或解压
使用tar命令,选项前的“-”号引导字符可以省略
使用z或j压缩,解压缩文件时,不需要加上z后f,tar直接可以识别
tar对目录和文件都可以进行操作。
使用tar时注意目录问题
tar cjvf ds2.tar.bz2 /tmp/ds.txt /tmp/test.c /tmp/ruijie/
tar: Removing leading `/' from member names
date +%F
date +%Y-%m-%d
date +%H:%M:%S
tar cjvf ds-`date +%F`.tar.bz2 file1 file2 dir1
VIM编辑器
:q!,不保存退出
:set nu 显示行号
:set nonu 不显示行号
:set cursorline 光标所在行显示横线
:noh 去掉高亮显示
标准输入--键盘--/dev/stdin--0
<
tr "a-z" "A-Z" < file.txt
标准输出--显示器--/dev/stdout--1
> >>
标准错误输出--显示器--/dev/stderr--2
2> 2>>
&>或>&:标准的输出和错误的输出
2>&1:将标准的错误输出到标准的输出
/dev/null 无效的 ,任何文件放到其中都会毫无保留
yum install gdb > /dev/null
yum install gdb &> /dev/null
cat sxkj sxkj22 &> /dev/null
/dev/zero 伪文件,不断产生连续不断的二进制的零流
head -5 /dev/passwd | tail -1
cat 显示文件的全部内容
-b:显示行号,不包括空行
-n:显示行号
-s:将连续多个空行压缩成一行显示
cut 从文本文件或文本流中提取文本列
route -n | grep "UG" | awk '{print $2}'
route -n | grep "UG" | tr -s " "
route -n | grep "UG" | tr -s " " | cut -d " " -f2
cut -f1,3 file1
cut -f1-3 file1
cut -f1-3 file1 --output-delimiter='-------'
grep 在一个或多个文件中搜索“字符串模板”
-i:不区分大小写
-h:查询多个文件时不显示文件名
-l:查询文件时只显示匹配字符所在的文件名
-n:显示匹配的行及其行号
-v:显示不匹配的所有行
grep "root" /etc/passwd -n
“^”:行首
“$”:行尾
“.”:除了换行符以外的任意单个字符
“.*”:任意字符串
“a*”:零个或多个a
grep "lee" file1
grep -i "lee" file1 忽略大小写
grep "^#" /etc/grub.conf -v
grep -v "^$" file1
正则表达式
sed 's/SELINUX=.*/^SELINUX=ds' /etc/sysconfig/selinux
[^abc] [abc]
echo "atb" | grep "a[^xyz]b"
\
tr 字符转换工具
只能对stdin操作,不能对文件进行操作
tr针对的是单个字符
echo "afbhdlehfa fafg" | tr "a-z" "A-Z"
tr "a-z" "A-Z" < file1
tr "[:lower:]" "[:uppper:]" < file1
-d:删除
echo "fafg fadfaggg bgad" | tr -d "abc"
-s:压缩
echo "1112244355553221" | tr -s "12345"
route -n | grep -i "ug" | tr -s " " | cut -d " " -f2
sort 默认按每行的第一个字符进行排序
-n:按整数进行排序
-k:指定那一列为排序键
-r:reverse,递减排序
-t:指定分割符
ls -l | sort -k5nr
sort -t : -n -k3 /etc/passwd
uniq 删除连续数据的重复记录
sort -n tt | uniq 删除排序后的重复记录
-c:统计特定记录出现的次数
cat tt | uniq -c
-u:只显示唯一的行
cat tt | uniq -u
-d:只显示重复的行
cat tt | uniq -d