Linux基础知识
2 Linux常用命令
作者:田超凡
版权所有,转载请注明原作者,仿冒侵权必究法律责任
4.1 文件处理命令
4.2 权限管理命令
4.3 文件搜索命令
4.4 帮助命令
4.5 用户管理命令
4.6 压缩解压命令
4.7 网络命令
4.8 关机重启命令
目录处理命令:ls
命令名称:ls
命令英文原意:list
命令所在路径:/bin/ls
执行权限:所有用户
功能描述:显示目录文件
语法:ls 选项[-ald] [文件或目录]
-a all显示所有文件,包括隐藏文件 隐藏文件以点开头
-l long详细信息显示
-d directory 查看目录属性
-h human智能显示
-rw-r--r--
- 文件类型(- 文件 d 目录 l 软链接文件)
rw- r-- r--
u g o
u所有者 g所属组 o其他人
r读 w写 x执行
1:表示该文件被调用的次数 1次 硬连接调用的次数
Root:表示该文件的所有者
Root:第二个root表示这个文件的所属组
1589:文件的大小
后面2个信息表示文件的创建时间和文件名
-r recusive 递归
时间不一样,属性不一样 添加选项参数 -p(property)
文件处理命令:more
命令名称:more
命令所在路径:/bin/more
执行权限:所有用户
语法:more [文件名]
(空格)或f表示 翻页 (Enter) 换行 q或Q 退出
功能描述:分页显示文件内容 范例: $ more /etc/services
文件处理命令:less
命令名称:less
命令所在路径:/usr/bin/less
执行权限:所有用户
语法:less [文件名]
功能描述:分页显示文件内容(可向上翻页)
范例: $ less /etc/services
文件处理命令:head
命令名称:head
命令所在路径:/usr/bin/head
执行权限:所有用户
语法:head [文件名]
功能描述:显示文件前面几行
-n 指定行数
范例: $ head -n 20 /etc/services 显示前20行
文件处理命令:tail
命令名称:tail
命令所在路径:/usr/bin/tail
执行权限:所有用户
语法:tail [文件名]
功能描述:显示文件后面几行
-n 指定行数
-f 动态显示文件末尾内容
范例: $ tail -n 18 /etc/services
文件处理命令:ln
命令名称:ln
命令英文原意:link
命令所在路径:/bin/ln
执行权限:所有用户
语法:ln -s [原文件] [目标文件]
-s 创建软链接
功能描述:生成链接文件
$ ln /etc/issue /tmp/issue.hard
创建文件/etc/issue的硬链接/tmp/issue.hard
硬链接和软连接不是根据文件的扩展名规定的,加了-s就是软连接,否则就是硬连接
软连接特征
1、lrwxrwxrwx l 软链接
软链接文件权限都为rwxrwxrwx
2、文件大小-只是符号链接
3、/tmp/issue.soft -> /etc/issue
箭头指向原文件
硬链接特征:
1、拷贝cp -p + 同步更新
echo "this is a test" >> /etc/motd
2、可通过i节点识别
3、不能跨分区
4、不能针对目录使用
4.2.1 权限管理命令chmod
权限管理命令:chmod
命令名称:chmod
命令英文原意:change the permissions mode of a file
命令所在路径:/bin/chmod
执行权限:所有用户
语法:chmod [{ugoa}{+-=}{rwx}] [文件或目录]
[mode=421 ] [文件或目录]
-R 递归修改
功能描述:改变文件或目录权限
权限的数字表示
r ---- 4
w ---- 2
x ---- 1
如:rwxrw-r--
7 6 4
范例:
$ chmod g+w testfile
赋予文件testfile所属组写权限
$ chmod -R 777 testdir
修改目录testfile及其目录下文件为所有用户具有全部权限
权限管理命令:chown
命令名称:chown
命令英文原意:change file ownership
命令所在路径:/bin/chown
执行权限:所有用户
语法:chown [用户] [文件或目录]
功能描述:改变文件或目录的所有者
范例:$ chown shenchao /tmp/fengjie
改变文件fengjie的所有者为shenchao
权限管理命令:chgrp
命令名称:chgrp
命令英文原意:change file group ownership
命令所在路径:/bin/chgrp
执行权限:所有用户
语法:chgrp [用户组] [文件或目录]
功能描述:改变文件或目录的所属组
范例:$ chgrp lampbrother /tmp/fengjie
改变文件/tmp/fengjie的所属组为lampbrother
创建用户: useradd 用户名 设置密码 passwd 创建组:groupadd 组名
权限管理命令:umask
命令名称:umask
命令英文原意:the user file-creation mask
命令所在路径:Shell内置命令
执行权限:所有用户
语法:umask [-S]
-S 以rwx形式显示新建文件缺省权限
功能描述:显示、设置文件的缺省权限
范例: $ umask –S
文件搜索命令:find
命令名称:find
命令所在路径:/bin/find
执行权限:所有用户
语法:find [搜索范围] [匹配条件]
功能描述:文件搜索
$ find /etc -name init 在目录/etc中查文件名为 init
find /etc -name init??? -a -type d
?代表一个匹配 * 代表多个匹配 类型为文件夹的
-iname 不区分大小写
$ find / -size +204800
在根目录下查找大于100MB的文件
+n 大于 -n 小于 n 等于
$ find /home -user zhangsan
在根目录下查找所有者为zhangsan的文件
-group 根据所属组查找
$ find /etc -cmin -5
在/etc下查找5分钟内被修改过属性的文件和
目录
-amin 访问时间 access
-cmin 文件属性 change
-mmin 文件内容 modify
$ find /etc -size +163840 -a -size -204800
在/etc下查找大于80MB而且小于100MB的文件
一个数据快= 0.5K + 表示大于 -:小于
-a 两个条件同时满足
-o 两个条件满足任意一个即可
$ find /etc -name inittab -exec ls -l {} \;
在/etc下查找inittab文件并显示其详细信息
-exec/-ok 命令 {} \; 对搜索结果执行操作
find /etc -name init* -a -type f -exec ls -l {} \;
find /etc -name init* -a -type f -ok ls -l {} \;
文件搜索命令:locate
命令名称:locate
命令所在路径:/usr/bin/locate
执行权限:所有用户
语法:locate 文件名
功能描述:在文件资料库中查找文件,并列出文件的具体位置
范例:$locate inittab
文件资料库的位置
$locate locate
发现在众多的文件名为locate中,有一个mlocate.db文件 /var/lib/mlocate/mlocate.db
所有被更新的文件都会收集到这个资料库里,
注意一:问题:如果新建一个文件,是不会收集到这个资料库里面的
如:$touch yangmi
$locate yangmi 找不到
这个时候 可以更新资料库,执行 $updatedb即可,再查 $locate yangmi 就有
注意二:touch /tmp/zhangbozhi updatedb locate zhangbozhi 发现查找不出来
原因/tmp里面的文件是不被收录到资料库里面的
文件搜索命令:which
命令名称:which
命令所在路径:/usr/bin/which
执行权限:所有用户
语法:which 命令
功能描述:搜索命令所在目录及别名信息
范例:$ which ls $which cp $which mkdir
有的命令有别名,有的没有别名,我们通常敲
cp xx yy 实际上执行的是 cp -i xx yy i就是提示y或n的询问提示
文件搜索命令:whereis
命令名称:whereis
命令所在路径:/usr/bin/whereis
执行权限:所有用户
语法:whereis [命令名称]
功能描述:搜索命令所在目录及帮助文档路径
文件搜索命令:grep
命令名称:grep
命令所在路径:/bin/grep
执行权限:所有用户
语法:grep -iv [指定字串] [文件]
功能描述:在文件中搜寻字串匹配的行并输出
-i 不区分大小写
-v 排除指定字串
范例:# grep mysql /root/install.log 从install.log文中找mysql
grep multiuser /etc/inittab 从inittab文件中找multiuser
grep -i mu ltiuser /etc/inittab 从inittab文件中找multiuser,忽略大小写
grep -v ^# /etc/inittab 把文件inittab每行的开头#去掉
如果不加^ 那么有可能去掉的是内容中间的#
grep global search regular expression(RE) and print out the line
帮助命令:man
命令名称:man
命令英文原意:manual
命令所在路径:/usr/bin/man
执行权限:所有用户
语法:man [命令或配置文件]
功能描述:获得帮助信息
范例: $ man ls
查看ls命令的帮助信息
$ man services
查看配置文件services的帮助信息
$whatis 写命令
$date 查看或修改当前日期
$man date 查看日期的修改格式
帮助命令:help
命令名称:help
命令所在路径:Shell内置命令
执行权限:所有用户
语法:help 命令
功能描述:获得Shell内置命令的帮助信息l
范例: $ help umask
查看umask命令的帮助信息
$touch --help 查看touch命令的重要信息
注意:man 无法获取shell内置命令的帮助信息
用户管理命令:useradd
命令名称:useradd
命令所在路径:/usr/sbin/useradd
执行权限:root
语法:useradd 用户名
功能描述:添加新用户
范例: $ useradd yangmi
用户管理命令:passwd
命令名称:passwd
命令所在路径:/usr/bin/passwd
执行权限:所有用户
语法:passwd 用户名
功能描述:设置用户密码
范例: $ passwd yangmi
每个用户只能改自己的密码 root管理员可以改所有用户的密码
用户管理命令:who
命令名称:who
命令所在路径:/usr/bin/who
执行权限:所有用户
语法:who
功能描述:查看登录用户信息
范例: $ who
结果: root tty 2014-08-08 18:29
zhangsan pts 2014-08-08 14:20 192.168.2.3
第一列:登录用户名 tty 表示本地终端登录,pts远程终端登录,第三列:登录时间,
第四列:远程终端的ip地址,如果没有ip就是本地终端登录
用户管理命令:w
命令名称:w
命令所在路径:/usr/bin/w
执行权限:所有用户
语法:w
功能描述:查看登录用户详细信息
up表示linux连续运行的时间
load average 系统的负载情况
what 表示一个用户当前执行了什么操作,如果什么操作都没有做 就是base
JCPU、PCPU占用CPU资源的情况
压缩解压命令:gzip
命令名称:gzip
命令英文原意:GNU zip
命令所在路径:/bin/gzip
执行权限:所有用户
语法:gzip [文件]
功能描述:压缩文件,只能压缩文件,不能压文件夹
压缩后文件格式:.gz
注意:gzip只能压缩文件不能压缩目录,第二,压缩之后不保留源文件
压缩解压命令:gunzip
命令名称:gunzip
命令英文原意:GNU unzip
命令所在路径:/bin/gunzip
执行权限:所有用户
语法:gunzip [压缩文件]
功能描述:解压缩.gz的压缩文件
范例: $ gunzip /tmp/huda.gz
压缩解压命令:tar
命令名称:tar
命令所在路径:/bin/tar
执行权限:所有用户
语法:tar 选项[-zcf] [压缩后文件名] [目录]
-c create 打包
-v verbose 显示详细信息
-f file 指定文件名
-z gzip 打包同时压缩
功能描述:打包目录,如果不加z 只是打包成.tar文件,加了z 即先打包,然后再压缩成.gz文件,
也可以分开2步写,压缩用gzip完成,压缩后文件格式:.tar.gz
范例:
$ tar -zcf Japan.tar.gz Japan
tar -cvf zhansan2.tar.gz clean.bat
生成的文件 目标文件
将目录Japan打包并压缩为.tar.gz文件
压缩解压命令:tar
tar命令解压缩语法:
-x 解包 extract
-v 显示详细信息
-f 指定解压文件
-z 解压缩
范例:$ tar -zxvf sanguo1.tar.gz
压缩解压命令:zip
命令名称:zip
命令所在路径:/usr/bin/zip
执行权限:所有用户
语法:
zip 选项[-r] [压缩后文件名] [文件或目录]
-r
压缩目录
功能描述:压缩文件或目录
压缩后文件格式:.zip
范例: $zip buduo.zip boduo 压缩文件
$zip -r Japan.zip Japan 压缩目录
压缩解压命令:unzip
命令名称:unzip
命令所在路径:/usr/bin/unzip
执行权限:所有用户
语法:unzip [压缩文件]
功能描述:解压.zip的压缩文件
范例:$ unzip test.zip
压缩解压命令:bzip2
命令名称:bzip2
命令所在路径:/usr/bin/bzip2
执行权限:所有用户
语法: bzip2 选项 [-k] [文件]
-k 产生压缩文件后保留原文件
功能描述:压缩文件
压缩后文件格式:.bz2
范例:$ bzip2 -k boduo
$ tar -cjf Japan.tar.bz2 Japan
压缩解压命令:bunzip2
命令名称:bunzip2
命令所在路径:/usr/bin/bunzip2
执行权限:所有用户
语法: bunzip2 选项 [-k] [压缩文件]
-k 解压缩后保留原文件
功能描述:解压缩
范例:$bunzip2 -k boduo.bz2
$ tar -xjf Japan.tar.bz2
网络命令:write
指令名称:write
指令所在路径:/usr/bin/write
执行权限:所有用户
语法:write <用户名>
功能描述:给用户发信息,以Ctrl+D保存结束
范例: # write linzhiling
前提:接受信息的用户必须要登录在线
网络命令:wall
指令名称:wall
命令英文原意:write all
指令所在路径:/usr/bin/wall
执行权限:所有用户
语法:wall [message]
功能描述:发广播信息
范例: # wall ShenChao is a honest man!
网络命令:ping
命令名称:ping
命令所在路径:/bin/ping
执行权限:所有用户
语法:ping 选项 IP地址
-c 指定发送次数
功能描述:测试网络连通性
范例: # ping 192.168.1.156
ping -c 3 192.168.1.156服务器回应3次即可,默认一直回应
网络命令:ifconfig
命令名称:ifconfig
命令英文原意:interface configure
命令所在路径:/sbin/ifconfig
执行权限:root
语法:ifconfig 网卡名称 IP地址
功能描述:查看和设置网卡信息
范例:# ifconfig eth0 192.168.8.250
网络命令:mail
命令名称:mail
命令所在路径:/bin/mail
执行权限:所有用户
语法:mail [用户名]
功能描述:查看发送电子邮件
范例:# mail root 给root发邮件
如果直接输入mail 表示查询邮件
结果解析: n 表示没符号读的邮件 1表示第一封 发件人,发件时间,发件主题
直接在&后面输入help,显示邮件提示命令相关信息,
在& 再次键入h显示所有邮件的内容,键入d表示删除邮件(一次删除一封),
再次h就查看不到刚才删除的邮件,键入exit退出,也可以在& 后面直接键入 数字,
表示要看第几封邮件,会显示邮件的详细信息
网络命令:last
命令名称:last
命令所在路径:/usr/bin/last
执行权限:所有用户
语法:last
功能描述:列出目前与过去登入系统的用户信息
范例:# last
网络命令:traceroute
命令名称:traceroute 路由跟踪
命令所在路径:/bin/traceroute
执行权限:所有用户
语法:traceroute
功能描述:显示数据包到主机间的路径
范例:# traceroute www.lampbrother.net
#traceroute www.sina.com.cn
访问新浪官网所经过的路由信息ip以及所花费的时间,如果时间长,
表示在某一块路由服务有问题,或者断掉,通过这个命令可以看在哪一块出了问题
网络命令:netstat
命令名称:netstat
命令所在路径:/bin/netstat
执行权限:所有用户
语法:netstat [选项]
功能描述:显示网络相关信息
选项:
-t TCP协议 三次握手 网络传输协议 打电话类似
-u UDP协议 数据包协议 丢包率高,不握手
-l lisenter 监听
-r route
-n 显示ip和端口号
当前是tcp协议
第一个0表示网络通畅,接受的数据包队列 没有挤压
第二个0表示发送的数据包队列,网络通畅
0.0.0.0 本地的ip地址 111 表示端口
Stat 表示TCP的监听 UDP没有监听的 注意
这条信息,表示当前有一台主机192.168.58.1正在连接到 linux192.168.58.128上 端口是22, ESTABLISHED连接
注意:自己电脑的端口是系统随机分配,不一定也要是22
# netstat -rn
显示route路由信息 n:numberic
网络命令:setup
命令名称:setup
命令所在路径:/usr/bin/setup
执行权限:root
语法:setup
功能描述:配置网络
范例:# setup
Setup配置的ip地址永久生效 ,RedHat专有的命令
配置成功 一定要重启 service network restart
DHCP就是一种自动分配ip的服务
挂载命令
命令名称:mount
相当于在linux分配一个盘符,把U盘等等的外部设备内容和该盘符(这个盘符是一个目录,在windows里是一个盘符如:H盘,i盘)连接
首先在cdrom光驱加载一个内容 ,注:设备状态的 已连接一定要勾上,类似光驱插线
命令位置:/bin/mount
执行权限:所有用户
命令语法:mount [-t 文件系统] 设备文件名 挂载点
范例:# mount -t iso9660 /dev/sr0 /mnt/cdrom -t iso9660 可省略 固定写法
注意1:在根目录下有一个mnt目录,这个目录就是用来做挂载的(相当盘符),一般习惯上在这个目录里面再创建一个目录cdrom,相当创建一个盘符
注意2:设备文件名 dev/sr0 就是光驱硬件 在centos6以上的版本,光驱的设备文件名默认就是dev/sr0 ,也可以写成 dev/cdrom
因为在dev目录里面的cdrom就是一个软连接,指向的就是sr0
[zhangsan@localhost ~]$ ls -ld /dev/cdrom
lrwxrwxrwx. 1 root root 3 10月 28 00:02 /dev/cdrom -> sr0
挂载点就是盘符
挂载成功,就是盘符和设备硬件建立了连接
umount /dev/sr0 取消挂载
注意:不能在cdrom目录下 执行这个命令 ,退到其他的目录再执行,就好比一个人坐在椅子上,要把自己搬起来
关机重启命令
1、shutdown命令
[root@localhost ~]# shutdown [选项] 时间
选项: shutdown 会保存内容再关机
-c: 取消前一个关机命令 cancel
-h: 关机 halt 停止的含义
-r: 重启 reboot
shutdown -h 20:30 晚上八点半关机
shutdown -h now 立刻关机 h:halted 停下来
shutdown -c 取消关机
直接拔掉电源:对于高速运转的硬盘 导致损坏
2、其他关机命令
[root@localhost ~]# halt
[root@localhost ~]# poweroff
[root@localhost ~]# init 0
3、其他重启命令
[root@localhost ~]# reboot
[root@localhost ~]# init 6
4、系统运行级别
0 关机
1 单用户 类似windows开启的安全模式进入,就是启动 最小的服务 进入window操作系统,因为其他的服务导致window无法启动
2 不完全多用户 不含NFS服务(network file system 它就是2个系统之间共享文件的一个服务)
3 完全多用户:完全的命令行
4 未分配
5 图形界面
6 重启2