学习笔记——Linux常用命令
四、文件搜索命令
- find [搜索范围] [匹配条件] 文件搜索
-name 用文件名的方式进行搜索
-iname 不区分大小写
例:
find /etc -name init 在目录/etc中搜索文件init
find /etc -name init* 在目录/etc中搜索init开头的文件和目录(支持通配符)
find /etc -name init??? 在目录/etc中搜索init开头结尾为3个字符的文件
-size 根据文件大小进行查找
例:
find / -size +204800 在根目录下查找大于100MB的文件
+n大于 -n小于 n等于
204800的单位是数据块,1数据块=512字节=0.5K,
那么100MB=102400KB=204800
-user 根据所有者进行查找
-group 根据所属组进行查找
例:
find /home -usr chenyu
-amin 访问时间 access
-cmin 文件属性 change
-mmin 文件内容 modify
例:
find /etc -cmin -5 在/etc下查找5分中内文件属性被修改过的文件和目录
-a 两个条件同时满足
-o 两个条件满足一个即可
例:
find /etc -size +163840 -a -size -204800 在/etc下查找大于80MB小于100MB的文件
-type 根据文件类型查找 (f文件 d目录 l软链接文件)
-inum 根据i节点查找
例:
find /etc -name init* -a -type f 查找/etc下init开头的文件
-exec / -ok 命令 {} \; 对搜索结果执行操作
例:
find /etc -name inittab -exec ls -l {} \; 在/etc下查找inittab文件并显示其详细信息
- locate 文件名
-i 查找时不区分大小写
例1:
locate inittab
例2:
touch /root/yangmi
locate yangmi 找不到yangmi
find /root -name yangmi 找得到yangmi
原因:找不到资料库 解决:updatedb
例3:
touch /tmp/zhangbozhi
updatedb
locate zhangbozhi 找不到zhangbozhi
原因:/tmp这个目录下的文件并不存放在资料库中
- which 命令 搜索命令所在目录及别名信息
例:
- whereis [命令名称] 搜索命令所在目录及帮助文档路径
例:
- grep -iv [指定字串] [文件]
-i 不区分大小写
-v 排除指定字串
例1:
grep multuser /etc/inittab 查找inittab内容中包含multuser的行并显示出来
例2:
grep -v ^# /etc/inittab 把行首为#所在的行都去掉
帮助命令
- man [命令或配置文件]
例1:
man ls 查看命令ls的帮助信息
man services 查看配置文件services的帮助信息
注意:配置文件不要写绝对路径,否则查看的是该文件的内容
例2:
man passwd 显示的是passwd命令的帮助信息
原因:
用whereis passwd搜索一下得到
passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz
which只能看到命令所在的绝对路径,whereis还可以查看到帮助信息的绝对路径。可以看到passwd命令在/usr/bin目录下,有一个帮助文件也叫passwd存放在/etc目录下面。
使用man命令的时候不能加绝对路径,那么系统默认就是查看的是命令的帮助信息。在linux系统里帮助文档是分成不同的类别的,可以从上面看到有的是passwd.1.gz ,有的是passwd.5.gz。
1为命令的帮助,5为配置文件的帮助。
如果要查看配置文件的帮助,只需跟系统声明:
man 5 passwd
- whatis [命令] 只显示该命令name部分的帮助信息
- apropos [配置文件] 只显示该配置文件name部分的帮助信息
实际上,whatis和apropos都可以查命令和配置文件。前者是精准查询、后者为模糊查询。 - [命令] --help 查看命令的选项
- info [命令] 和man没有本质的区别,只是在显示和控制上有一点不同
- help [命令] 获得shell内置命令的帮助信息
shell内置命令都找不到绝对路径,也不能用man来查看帮助信息。包括cd,umask等。
用户管理命令
1.useradd 用户名 添加用户(用户名最好不要起太复杂)
2.passwd 用户名 设置用户密码(密码不要过于简单)
例:useradd yangmi
passwd yangmi
3.who 查看登陆用户信息
第一个部分表示登陆用户,第二个部分表示登录终端,tty表示本地终端,
pts表示远程终端,第三个部分表示登陆时间,远程登陆会显示登陆的IP地址。
4. w 查看登陆用户的详细信息
压缩解压命令
- 压缩:
gzip [文件] 功能:压缩文件 压缩后文件格式: .gz
gzip只能压缩文件,不能压缩目录。与windows不同的是,压缩完后不保留原文件。
tar [-zcf] [压缩后文件名] [要打包的目录] 压缩后文件格式:.tar.gz
-c 打包
-v 显示详细信息
-f 指定文件名
-z 打包同时压缩
例:
zip [-r] [压缩后文件名] [文件或目录] 压缩后文件格式:.zip
-r 压缩目录
与windows相同,压缩后能保留原文件,且.zip格式的压缩包在两种操作系统下是可以通用的。
bzip2 [-k] [文件] 压缩比非常大 压缩后文件格式:.bz2
-k 产生压缩文件后保留原文件
例:
bzip2 -k boduo
tar -cjf Japan.tar.bz2 Japan #可以与tar结合使用
-
解压缩:
gunzip [压缩包名称]
gzip -d [压缩包名称]tar命令解压缩语法:
-x 解包
-v 显示详细信息
-f 指定解压文件
-z 解压缩
例:tar -zxvf Japan.tar.gz
unzip [压缩文件] 解压.zip的压缩文件
有时由于压缩时原文件还在,所以解压缩时会询问是否替换原文件。
例:unzip test.zip
bunzip2 [-k] [压缩文件]
-k 解压缩后保留压缩包
例: bunzip -k boduo.bz2
tar -xjf Japan.tar.gz2 解压.tar.gz2格式的压缩包
网络命令
1.write [用户名] 给用户发信息,以 ctrl+d 结束
2.wall [message] 发广播信息(write all 的缩写)
例:wall Hello Wold!
3.ping [选项] IP地址 (ctrl+c退出)
-c 指定发送次数
例:ping -c 5 192.168.1.1
4.ifconfig 网卡名称 IP地址 查看和设置网卡信息(注意:执行权限只有root)
例1:ifconfig eth0 192.168.8.250
例2:ifconfig 查看本机网卡信息
5.mail [用户名] 查看发送电子邮件(与wrtie不同,不管用户在不在线)
ctrl+d 保存发送
例:
6.last 列出目前与过去登入系统的用户信息
7.lastlog 列出最后一次登入时间(即不包含重复登陆)
lastlog -u [用户的uid] 查看该用户的最后登陆时间
8.traceroute 跟踪路由(显示数据包到主机间的路径)
例:
9.netstat [选项] 查询网络状态
-t TCP协议
-u UDP协议
-l 监听
-r 路由
-n 显示IP地址和端口号
例:
netstat -tlun 查看本机监听的端口
netstat -an 查看本机所有的网络连接
netstat -rn 查看本机路由表
10.setup 配置网络(与ifconfig不一样,它是永久生效的)
11.mount [-t 文件系统] 设备文件名 挂载点
关机重启命令
1.shutdown [选项] 时间
-c 取消前一个关机命令
-h 关机
-r 重启
2.cat /etc/inittab 查看系统运行级别(ubuntu没有这个文件)
3.runlevel 查询系统运行级别
4.logout 退出登陆(养成好习惯)