这两天,接触到了久违的linux,然后就被嫌弃了一波
因为之前很少操作liunx系统,分配的任务又是在linux上操作snmp采集,瞬间感觉自己和傻子一样,啥也不懂啥也不会。
cd命令
它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径1
2
3cd /root/home #进入home文件夹
cd ./tomcat #切换到当前目录下的tomcat目录
cd ../path #切换到上一级目录下的path文件夹
ls命令
查看文件与目录的命令,list之意1
2
3
4-l: 列数长数据串,包含文件的属性与权限数据等 ls -l也可以用ll代替
-a: 列出全部文件,连同隐藏文件(开头为.的文件)一起列出来(常用)
-h: 将文件容量以较易读的方式(GB,kB等)列出来
-R: 连同子目录的内容一起列出来(递归列出),等于该目录下的所有文件都会显示出来
grep命令
该命令常用于分析一行的信息,若当中有我们所需要的信息,就将该行显示出来,该命令通常与管道命令一起使用,用于对一些命令的输出进行筛选加工等等
命令格式:grep [选项] ”模式“ [文件]
常用选项
1 | -E:开启扩展(Extend)的正则表达式 |
模式部分
可以直接输入要匹配的字符串
这个可以利用fgrep(fast grep)代替提高查找速度,例如查找hello.c文件中print的个数:fgerp -c “print” hello.c
使用基本表达式
- . :任意一个字符
- [abc] :匹配的字符,必须是abc中的一个
- [a-zA-Z] :表示匹配一个字符,这个字符必须是a-z或A-Z这52个字母中的一个。
- [^123] :匹配一个字符,这个字符是除了1、2、3以外的所有字符。
- 对于一些常用的字符集,系统做了定义:
- [A-Za-z] 等价于 [[:alpha:]]
- [0-9] 等价于 [[:digit:]]
- [A-Za-z0-9] 等价于 [[:alnum:]]
- tab,space 等空白字符 [[:space:]]
- [A-Z] 等价于 [[:upper:]]
- [a-z] 等价于 [[:lower:]]
find命令
find是一个基于查找的功能非常强大的命令,相对而言,它的使用也相对较为复杂,参数也比较多
命令格式:find [PATH] [option] [action] (操作符、选项、测试表达式以及动作)
与时间有关的参数
1 | -mtime n:搜索在n天之前的”一天内“被更改的文件 |
例如:find /root -mtime 0 :在当前目录下查找今天之内被改动过的文件
与文件权限及名称相关的参数
1 | -name:查找文件名为name的文件 |
例如:
find . -perm 0755 # 查找当前目录中文件权限的0755的文件
find . -size +12k # 查找当前目录中大于12KB的文件,注意c表示byte
与用户或用户组名有关的参数:
-user name : 列出文件所有者为name的文件
-group name : 列出文件所属用户组为name的文件
-uid n : 列出文件所有者为用户ID为n的文件
-gid n : 列出文件所属用户组为用户组ID为n的文件
例如:
find /home/ljianhui -user ljianhui # 在目录/home/ljianhui中找出所有者为ljianhui的文件
cp命令
命令格式:cp [option] [source] [dest](cp [选项] [源文件] [目标文件])
该命令用于复制文件,copy之意,它还可以把多个文件一次性地复制到一个目录下1
2
3
4
5-a:将文件的特性一起复制
-p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份
-i :若目标文件已经存在时,在覆盖时会先询问操作的进行
-r :递归持续复制,用于目录的复制行为
-u :目标文件与源文件有差异时才会复制
例如:
cp -a file1 file2 #连同文件的所有特性把文件file1复制成文件file2
cp file1 file2 file3 dir #把文件file1、file2、file3复制到目录dir中
mv命令
命令格式:cp [option] [source] [dest](cp [选项] 源文件或目录 目标文件或目录)
该命令用于移动文件、目录或更名,move之意1
2
3-f :force强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件已经存在,就会询问是否覆盖
-u :若目标文件已经存在,且比目标文件新,才会更新
例如:
mv file1 file2 file3 dir # 把文件file1、file2、file3移动到目录dir中
mv file1 file2 # 把文件file1重命名为file2
rm命令
该命令用于删除文件或目录,remove之间1
2
3-f :就是force的意思,忽略不存在的文件,不会出现警告消息
-i :互动模式,在删除前会询问用户是否操作
-r :递归删除,最常用于目录删除,它是一个非常危险的参数
例如:
rm -i file # 删除文件file,在删除之前会询问是否进行该操作
rm -fr dir # 强制删除目录dir中的所有文件
tail命令(head与之相反)
命令格式:tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]1
2
3
4
5
6-f:用于监视文件的增长
-c num:从num字节位置读取指定文件
-n:从num行位置读取文件
-m Number: 从 Number 多字节字符位置读取指定文件,比方你的文件假设包括中文字,假设指定-c参数,可能导致截断,但使用-m则会避免该问题。
-b Number: 从 Number 表示的512字节块位置读取指定文件。
-k Number: 从 Number 表示的1KB块位置读取指定文件。
File 指定操作的目标文件名称
上述命令中,都涉及到number,假设不指定,默认显示10行。Number前面可使用正负号,表示该偏移从顶部还是从尾部開始计算。
tail可运行文件一般在/usr/bin/以下。
例如:
tali -f tomcat.log # 实时显示最新日志
tail -n 100 tomcat.log #显示最后100行数据
tail -n -100 tomcat.log #除了前99行不显示外,显示第100行到末尾行