Linux 命令个人总结====== 未完待续
man
【功能说明】:
查看帮助
【语法格式】:
man [123456789]命令、文件、
【选项参数】:
数字"1"表示用户命令,比如“ls”
数字"2"表示系统调用
数字"3"表示C语言库函数
数字"4"表示设备或特殊文件
数字"5"表示文件格式和规则
数字"6"表示游戏及其他
数字"7"表示宏、包及其他杂项
数字"8"表示系统管理员相关的命令,比如“groupadd、route”
【实践操作】:
man passwd
man 5 passwd
【技巧拓展】:
如果有不会的命令多用man查看帮助
ls
【功能说明】:
查看文件和目录
【语法格式】:
ls [-aAdfFhil]目录名
【选项参数】:
-a :全部文件,与隐藏文件(开头为.的文件)一起列出来。
-A :全部文件,与隐藏文件但不包括.和..这两个目录,一起列出来。
-d :仅列出目录本身。
-f :直接列出结果,而不进行排序(ls默认会以文件名排序)
-F :根据文件、目录等信息,附加数据结构,例如:
*:表示可执行文件,/:表示目录,=:表示套接字文件,|:表示管道文件
-h :列出文件大小
-i :列出inode位置,而非 列出文件的属性。
-l :列出长数据串,详细信息和属性。
-n :列出UID和GID而非用户与用户组的名称。
-r :将结果反向输出,例如,原文件名由小到大,反向则由大到小
-t :按时间排序
【实践操作】:
ls -ld /data
ls -a /root
ls -A /root
ls -lh /data
ls -lrt 按时间倒序排列
【技巧拓展】:
touch
【功能说明】:
修改文件时间与创建新文件
【语法格式】:
touch [-acdmt]文件
【选项参数】:
-a : 修改访问时间改为当前时间
-c : 仅修改时间,不建立文件,如果后面文件名不存在则不创建文件
-d : 后面可接日期,也可以使用--date=日期或时间 默认到天
-m : 仅修改mtime
-t : 后面可接时间,格式为[YYMMDDhhmm]
【实践操作】:
touch /data/oldboy.txt
tar zxf mysql-5.5.3-m3.tar.gz
【技巧拓展】:
mkdir
【功能说明】:
建立文件夹
【语法格式】:
mkdir [-p]文件夹
【选项参数】:
-p:递归建立文件夹
【实践操作】:
mkdir -p /data/a/b/c
【技巧拓展】:
cd
【功能说明】:
切换目录(change direcotory)
【语法格式】:
cd目录名(可使用相对路径或绝对路径)
【选项参数】:
【实践操作】:
cd /data/a/b/c
cd ../
【技巧拓展】:
cd ~ 回到当前用户的家目录
cd ~oldboy 回到oldboy用户的家目录
cd - 回到上一次工作目录
cp
【功能说明】:
拷贝文件或目录
【语法格式】:
cp [-adilprsu]源文件目标文件
【选项参数】:
-a :相当于 –pdr的意思
-d :若文件为连接文件,则复制连接文件属性而非文件本身
-i :若目标文件已存在,在覆盖时会先询问是否真的操作,linux默认是alias cp=“cp -i”
-l :建立硬链接的链接文件,而非复制其本身
-r :递归复制,用于复制目录的 操作
-s :复制成符号链接形式,软连接等同于ln –s
-u :若目标文件比原文件旧,则更新目标文件
最后,需要注意,源文件有两个以上,则最后一个目的文件一定是“目录”
【实践操作】:
\cp /data/test.txt /tmp/test.txt 强制覆盖目标文件 或使用/bin/cp,
cp -r /data /tmp 将data 目录及目录下内容拷贝到tmp下
【技巧拓展】:
rm
【功能说明】:
删除文件或目录
【语法格式】:
rm [-fir]文件或目录
【选项参数】:
-i :交互模式,删除前询问
-f :强制删除不询问
-r :递归删除
【实践操作】:
rm -f /data/oldboy.txt
rm -rf /data 权限太大,生产环境中少用,find查找,删除查找的结果
【技巧拓展】:
mv
【功能说明】:
移动文件或目录,或者是重命名
【语法格式】:
mv [-fiu]源文件,目标文件
【选项参数】:
-f :强制移动,不询问
-i :若目标文件名存在则询问
-u
最后,需要注意,源文件有两个以上,则最后一个目的文件一定是“目录”
【实践操作】:
mv /data/oldboy.txt /data/test.txt /tmp
mv -f /data/oldboy.txt /tmp
mv /data/oldboy.txt /data/12345.txt
【技巧拓展】:
echo
【功能说明】:
在显示器上显示一段文字
【语法格式】:
echo [-n]字符串
【选项参数】:
-n :不在最后自动换行
【实践操作】:
echo “I am studying linux”
echo -n “I am studying linux”
【技巧拓展】:
echo “I am studying linux” > /data/oldboy.txt 将字符串覆盖这个文件
echo “I am studying linux” >> /data/oldboy.txt 两个大于号是追加的意思
seq
【功能说明】:
打印一个数字队列
【语法格式】:
seq [-fsw]
【选项参数】:
-f :用格式化来输出
-s :用来指定分隔号,默认是回车
-w :输出同列宽数列,不足的位数用0补齐
【实践操作】:
seq -f 100%g 10
seq -s”,” 1 100
seq -w 1 100
【技巧拓展】:
pwd
【功能说明】:
打印当前工作的路径
【语法格式】:
pwd [-P]
【选项参数】:
-P :显示真实的工作路径而不是软链接路径
【实践操作】:
ln -s /data /root/data&&cd /root/data&&pwd&&pwd -P
【技巧拓展】:
cat
【功能说明】:
显示文件内容
【语法格式】:
cat [-AEnT]文件
【选项参数】:
-A :相当于-vET的整合参数,可列出一些特殊字符,tab,换行符
-E :将结尾的换行符$显示出来
-n :显示行号
-T :将tab以^I符号显示出来
【实践操作】:
cat -n /etc/passwd
cat -A /etc/passwd
【技巧拓展】:
alias
【功能说明】:
命令别名
【语法格式】:
alias [别名]=[指令名称]
【选项参数】:
若不加任何参数则列出目前所有设置的别名
【实践操作】:
alias dir=”ls ”
【技巧拓展】:
如果想要所有用户永久生效则将 alias dir=“ls -l“写入到/etc/bashrc如果想要单个用户生效则写入到该用户的家目录的.bashrc文件中
unalias
【功能说明】:
取消别名
【语法格式】:
unalias别名
【选项参数】:
unalias +别名 取消该别名
【实践操作】:
unalias dir
【技巧拓展】:
head
【功能说明】:
查看文件的前几行
【语法格式】:
head -n文件
【选项参数】:
-n :n为数字 为查看文件的前n行
不加参数为默认文件的前10行
【实践操作】:
head -10 /etc/passwd
【技巧拓展】:
tail
【功能说明】:
查看文件的末尾几行
【语法格式】:
tail [-fn]文件
【选项参数】:
-f :动态显示文件的后几行
-n :n为数字 为查看文件的后n行
不加参数为默认文件的后10行
【实践操作】:
tail -10 /etc/passwd
tail -f /var/logs/messages.log
【技巧拓展】:
head -30 /data/oldboy.txt |tail -11显示文件的第20-30行内容
tree
【功能说明】:
打印目录结构
【语法格式】:
tail [-ldf]文件
【选项参数】:
-f :显示完整路径
-L level :显示的深度 find 的-maxdepth
-d :只显示目录
【实践操作】:
tree /data
tree -f /root
tree -d /root
tree -Ld 1 /etc
【技巧拓展】:
rmdir
【功能说明】:
删除空目录
【语法格式】:
rmdir目录名
【选项参数】:
【实践操作】:
rmdir /data
【技巧拓展】:
find
【功能说明】:
查找文件
【语法格式】:
find [path] [option] [action]
【选项参数】:
-type TYPE :搜索的类型为TYPE,主要有 文件f,设备文件b、c,目录d,链接文件l
套接字s,以及pipo(p)等
-name filename :搜索文件名
-perm mode :搜索文件权限刚好等于mode的文件
-maxdepth :搜索的目录的深度
-uid n :查找uid为n的文件
-gid n :查找gid为n的文件
-user name :查找用户为name的文件
-group name :查找用户组为name的文件
-nouser :查找文件的拥有者不在/etc/passwd的文件
-nogroup :查找文件的所属组不在/etc/group中的文件
-atime n :n为数字,含义为在n天之前的“一天之内”访问access过的文件
-ctime n :n为数字,含义为在n天之前的“一天之内”修改change过状态的文件
-mtine n :n为数字,含义为在n天之前的“一天之内”修改modification过的文件
-newer file :file为一个文件,意思是只要文件比file文件新就会被列出来
【实践操作】:
find /data -type f -name “*.sh” -exec sed -i ‘s#./hostlists.txt#../jijogi#g’ {} \;
①和xargs搭配用法
find . -type f -mtime +15 |xargs rm -f #删文件 15天以前 #删目录下文件用这个好 不包括当天
find . -type d -mtime +30 |xargs rm -rf #删目录 30天以前 慎用。
提示:xargs是一个不错的命令,有机会同学们要总结的。
②使用find的-exec
find /logs -type f -mtime +5 -exec rm { } \; #在/logs目录中查找更改时间在5日以前的文件并删除它们:
【技巧拓展】:
sed
【功能说明】:
获取各种内容(三剑客的老二)
【语法格式】:
sed [-nefri] ‘command’输入文本
【选项参数】:
-n :取消默认输出,只有经过sed处理过的才输出
-e :直接在命令行上进行操作
-f :将sed的命令写到一个文件内,-f filename 则可以执行filename内的 sed操作
-r :sed的操作支持扩展的正则表达式
-i :直接修改读取的档案内容,而不是由屏幕输出
操作选项
a :新增一行,a后面接字符串,这些字符串会出现在新的一行,当前行的下一行
c :取代,c后面接字符串,取代n1,n2之间的行
d :删除,删除行,d后面不接任何东西
i :插入,i后面街字符串,这些字符串会出现在当前行的上一行
p :打印,通常和 -n 参数一起出现
s :搜索
【实践操作】:
sed -n ‘1,2p’ oldboy.txt
sed ‘/oldboy/d’oldboy.txt 将包含oldboy的行删除
seq -i ‘s#./hostlists.txt#../idctest_iplist#g’ oldboy.txt
【技巧拓展】:
grep
【功能说明】:
过滤,核心命令之一(三剑客的老三)
【语法格式】:
grep
【选项参数】:
-c :只输出匹配行的总数
-i :不区分大小写
-v :反向过滤,不包含
【实践操作】:
grep -v oldboy /data/oldboy.txt
ls -l |grep ^d
【技巧拓展】:
ln
【功能说明】:
建立链接文件
【语法格式】:
ln -[s]源文件链接文件
【选项参数】:
不加参数表示,链接类型为硬链接
【实践操作】:
ln -s /bin/ls /root/ls
【技巧拓展】:
chkconfig
【功能说明】:
查看或更改脚本的开机启动状态
【语法格式】:
chkconfig [--add][--del][--list][系统服务]
chkconfig [--level ][系统服务][on/off/reset]
【选项参数】:
【实践操作】:
chkconfig --add mysqld
chkcnfig --level 3 mysqld on
【技巧拓展】:
wc
【功能说明】:
统计,文件的字节数、字数、行数,并将统计结果输出
【语法格式】:
wc [-clmwL]
【选项参数】:
-c 统计字节数。
-l 统计行数。
-m 统计字符数。这个标志不能与 -c 标志一起使用。
-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
-L 打印最长行的长度。
-help 显示帮助信息
--version 显示版本信息
【实践操作】:
wc -l /etc/passwd
wc -c /etc/passwd
【技巧拓展】:
查看nginx进程的个数
ps aux |grep nginx |grep -v grep |wc -l
tar
【功能说明】:
打包压缩,解包、解压
【语法格式】:
tar [主选项+辅助选项]文件或目录
【选项参数】:
c 创建新的文件。
x 拆包
t 列出档案的内容,不拆包
辅助选项:
-z :使用gzip 进行压缩,解压
-j :使用bzip2进行压缩解压
-v :压缩或解压过程中显示文件
-f :使用文档名,-f之后接文件名
-p :保留文件原有的属性
--exclude FILE/directory :在压缩过程中不要把FILE/directory打包
【实践操作】:
tar -cvf /tmp/etc.tar /etc
tar -zcvf /tmp/etc.tar.gz /etc
tar -jcvf /tmp/etc.tar.bz2 /etc
tar -ztvf /tmp/etc.tar.gz 查看这个包内的内容
cd /usr && tar -xzvf /tmp/etc.tar.gz 将这个包解压到/usr
tar -zxvf /tmp/etc.tar.gz etc/passwd 只将passwd文件解压出来
【技巧拓展】:
cut
【功能说明】:
正如其名,cut的工作就是“剪”,具体的说就是在文件中负责剪切数据用的。cut是以每一行为一个处理对象的,这种机制和sed是一样的。
【语法格式】:
cut [-bn] [file]或cut [-c] [file]或者cut [-df] file
【选项参数】:
-b :以字节为单位进行分割
-c :以字符为单位进行分割
-d :自定义分隔符,默认为制表符
-f :与-d一起使用,显示哪个区域,cut -df 类似awk的功能,
-n :取消分割多字节字符。仅与-b一起使用
【实践操作】:
cat /etc/passwd |cut -d : -f 1,2-4
[root@moban ~]# who |cut -b 1-3 取1-3个字节,汉字是
roo
roo
【技巧拓展】:
egrep
【功能说明】:
等同于 grep -E 扩展的正则表达式
【语法格式】:
【选项参数】:
-v :不包含的行
-n :显示行号
【实践操作】:
egrep ‘[a-z]+bale’ 匹配一个或多个小写字母后跟able的串,如loveable,enable等
【技巧拓展】:
xargs
【功能说明】:
ls或者find之后的结果可以接xargs执行其他命令
【语法格式】:
ls |xargs
【选项参数】:
【实践操作】:
find /etc/ -name ‘*.conf’ -maxdepth 1 |xargs tar -czvf etc.tar.gz
find /oldboy -name ‘*.sh’ |xargs sed -i ‘s#./hostlist.txt#../idctest_iplist#g’
【技巧拓展】:
xargs
【功能说明】:
ls或者find之后的结果可以接xargs执行其他命令
【语法格式】:
ls |xargs
【选项参数】:
【实践操作】:
find /etc/ -name ‘*.conf’ -maxdepth 1 |xargs tar -czvf etc.tar.gz
find /oldboy -name ‘*.sh’ |xargs sed -i ‘s#./hostlist.txt#../idctest_iplist#g’
cat url-list.txt | xargs wget –c
【技巧拓展】:
seq
【功能说明】:
打印一个数字序列 echo {1..5}
【语法格式】:
seq [-fsw]
【选项参数】:
-f :用格式化来输出
-s :用来指定分隔号,默认是回车
-w :输出同列宽数列,不足的位数用0补齐
【实践操作】:
seq -f 100%g 10
seq -s”,” 1 100
seq -w 1 100
【技巧拓展】: