Chinaunix首页 | 论坛 | 博客
  • 博客访问: 54849
  • 博文数量: 9
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 162
  • 用 户 组: 普通用户
  • 注册时间: 2013-07-19 20:14
文章分类
文章存档

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"
\:表示abc这个单词


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

阅读(1290) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~