标签:
此为L005-老男孩实效教育-运维第一关基础命令考试手把手精讲的前14节课程内容的一个总结。
命令:
基本形式
命令 [参数] [路径或文件]
例:ls -ld /data
pwd 目前所在目录
1 [root@moban /]# pwd 2 /
mkdir 创建目录命令
1 [root@moban tmp]# mkdir as 2 [root@moban tmp]# ls 3 as lkj.txt oldboy.txt yum.log
ls -ld 显示目录或文件列表
1 [root@moban tmp]# ls -ld 2 drwxrwxrwt. 4 root root 4096 Mar 21 15:56 .
cd [路径] 切换目录层次。cd.为当前目录。cd..为上级目录。
1 [root@moban ~]# cd /etc/ 2 [root@moban etc]#
touch [文件] 创建文件
1 [root@moban tmp]# touch 123.txt 2 [root@moban tmp]# ls 3 123.txt as lkj.txt oldboy.txt yum.log 4 [root@moban tmp]#
vi [文件] 创建一个记事本 如果文件不存在就创建一个新文件
1 [root@moban tmp]# vi 123.txt
cat [文件] 查看文件内容
1 [root@moban tmp]# cat 123.txt 2 lkj
echo 打印输出内容,如果需要打印的话语中有空格就要用双引号。
1 [root@moban tmp]# echo "hello" 2 hello
如果把单行文本覆盖到文件里可以使用“>"但是会清空原来的内容。要小心使用
[root@moban tmp]# cat 123.txt lkj [root@moban tmp]# echo "like" > 123.txt [root@moban tmp]# cat 123.txt like
如果不想覆盖原内容,想在结尾追加用“>>”
[root@moban tmp]# cat 123.txt lkj [root@moban tmp]# echo "like" >> 123.txt [root@moban tmp]# cat 123.txt lkj like
cp [路径文件] [路径] 拷贝(copy)只能拷贝文件不能拷贝目录,如果要拷贝目录要用-a或-r参数。
1 [root@moban /]# cp -a /io /tmp/ 2 [root@moban /]# ls /tmp/ 3 123.txt as io lkj.txt oldboy.txt yum.log
mv [文件路径] [路径] 移动,既可以移动文件也可以移动文件夹。
rm 删除(remove)删除文件夹要加参数 -r 强制删除要用-f 删除指定目录和文件-fr
1 [root@moban /]# rm /tmp/123.txt 2 [root@moban /]# rm -r /oi 3 [root@moban /]# rm -f /tmp/123.txt 4 [root@moban /]# rm -fr /oi
*grep -v [指定字符] [文件] 过滤文件中的指定字符的行。
1 [root@moban /]# cat 321.txt 2 liyun 3 lichaoran 4 wangyanhua 5 [root@moban /]# grep -v li /321.txt 6 wangyanhua
如果不加-v则显示你选择字符的行。
1 [root@moban /]# grep li /321.txt 2 liyun 3 lichaoran
head 头,也可用于搜索文件中的特定内容。
1 [root@moban /]# head -2 321.txt 2 liyun 3 lichaoran 4 ##显示前两行,如果不加数字默认为前10行
*sed 取各种内容,功能十分强大。
1 [root@moban /]# sed -n /li/p 321.txt 2 liyun 3 lichaoran 4 ##-n为表示取消原始输出,不用-n会把整个文件的内容打出来并且把搜索的内容又打出来一遍。 5 ##p为print 打印,把含有li的行打印出来 6 ##搜索的关键字要放在//中间,例如上边的/li/
1 [root@moban /]# sed /li/p 321.txt 2 liyun 3 liyun 4 lichaoran 5 lichaoran 6 wangyanhua 7 ##如果不加-n,会打印出并复制一行所取出的内容
1 [root@moban /]# sed /li/d 321.txt 2 wangyanhua 3 ##d为delete,不显示所搜索的行。
mkdir -p 循环建立文件夹,递归创建。
1 [root@moban /]# mkdir -p /1/2/3/4/5
tree 树,显示一个文件夹下的各层文件夹。
1 [root@moban /]# tree /1/ 2 /1/ 3 └── 2 4 └── 3 5 └── 4 6 └── 5 7 8 4 directories, 0 files
alias 别名;1)通过给危险命令加一下保护参数,可以防止误操作。2)把很多的字符串变成一个简单的字符串或者命令。
1 [root@moban /]# alias 2 alias cp=‘cp -i‘ 3 alias l.=‘ls -d .* --color=auto‘ 4 alias ll=‘ls -l --color=auto‘ 5 alias ls=‘ls --color=auto‘ 6 alias mv=‘mv -i‘ 7 alias rm=‘rm -i‘ 8 alias which=‘alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde‘ 9 ##默认的别名
如上,默认的cp -i别名为cp,-i为提示确认的参数,如果不需要-i可以使用unalias。
1 [root@moban /]# unalias cp
##但是在重启后失效。
默认别名的位置cat ~/bashrc 此可以永久修改。
find [路径] -type(类型)f(文件)-name(名字)“cat”(文件名) 查找
find还可以查询5天前的指定地址目录
1 [root@moban /]# find /log/ -type -f -name "*.log" -mtime +5
此为ntime的时间图示,一定要看懂,不然会出错。
xargs 按行,多配合管道“|”使用(暂时先这么理解,以后补充)
1 [root@moban /]# find /tmp/ -type f -name 321.txt|xargs rm -f
##查找/tmp/目录下321.txt的文件,名按行删除,如果没有xargs是不对的因为查找到的是按行输出,不加xargs是错误的。
seq sequence(序列)打印一个序列的数字。
1 [root@moban /]# seq 6 2 1 3 2 4 3 5 4 6 5 7 6
横着打。(引号中为空格,也可以是别的符号,用于每个数字的间隔)
1 [root@moban /]# seq -s " " 6 2 1 2 3 4 5 6
which 查看命令的路径whereis,locate,find
1 [root@moban /]# which cp 2 alias cp=‘cp -i‘ 3 /bin/cp
除命令以外其他的一些东西
cp
如果复制移动删除等命令下不想提示确认保护,需要在命令前加“\”
1 [root@moban /]# cp /tmp/test.txt /mnt/ 2 ##会提示 3 [root@moban /]# \cp /tmp/test.txt /mnt/ 4 ##不会提示
5 [root@moban /]# /bin/cp /tmp/test.txt /mnt
6 ##另一种方法,命令的具体位置获取详见上面的which命令
符号
; 多个命令的分隔符
/ 根或路径的分隔符
> 标准输出重定向(数据流朝着箭头的方向流动),会覆盖原来的文件
>> 追加重定向(数据流朝着箭头的方向流动),再原来文件的“结尾”追加内容
<或< 标准输入重定向:输入重定向用于改变命令的输入,指定输入内容,后跟文件名。
<<或<< 输入重定向:后跟字符串,用来表示‘输入结束’,也可用ctrl+d来结束输入。
.. 上级目录
. 当前目录
^ 开头 例如 sed /^oldboy/d test.txt 删除test.txt中的oldboy开头的行显示出来
~ 用户的家目录
| 管道,把左边的命令输出给管道右边右边令执行,管道的两边不需要空格
小技巧
查看一个文件的20-30行,如何查看?
我们用sed,也可以用head和tail(但是繁琐)
1 [root@moban /]# sed -n 20,30p 321.txt
标签:
原文地址:http://www.cnblogs.com/lcrbg/p/5302530.html