Linux常用命令
- 命令基本格式
- 文件处理命令
- 文件搜索命令
- 帮助命令
- 压缩与解压命令
- 关机和重启命令
- 其他常用命令
一、命令基式本格式
命令提示符
[root@localhost~]:
其中:
- root: 当前登陆用户
-
-
localhost: 主机名
-
当前所在目录(家目录)
$ 普通用户的提示符
-
当前所在目录(家目录)
命令格式:
命令 [选项] [参数]
注意:
个别命令使用不遵循此格式
当有多个选项时,可以写在一起
简化选项与完整选项
-a等于--all
显示说明:
使用ls -l命令打印文件的详细信息
[root@localhost~]:ls -l
-rw-r–r--. 1 root root 3827 1月 24 01:22 install.log.syslog
其中的r、w、x分别表示可读,可写,可执行
-rw-r–r--
输出结果中第一个符号‘-’是字符串表示的是文件类型。
之后的九个符号分为三组每个三个,分别代表可读、可写和可执行,和各个所有者的使用权限。
每一组又分别代表一个操作者,这些操作者可以为:
u所有者 g所属组 o其他人
-rw-r–r--
此处的意思是:
该文件为文件,
所有者,可以读写,
所有组可读
其他人可读。
->’-'文件类型(- 文件 d 目录 l 软链接文件)
->rw- r–r--
u所有者 g所属组o其他人
r读 w写x执行
“1”:引用计数(文件被调用过几次)
第一个“root”所有者,第二个“root”所属组
u所有者 g所属组o其他人
“1月 24 01:22”:最后一次修改时间
install.log.syslog:文件名
‘.’开头的文件是隐藏文件
隐藏文件不可以轻易查到(避免误操作)
命令一
查询目录中内容:ls
命令格式:
ls [选项] [文件或目录]
选项:
-a 显示所有文件,包括隐藏文件
-l 显示详细信息
-d 查看目录属性
实例:
[root@localhost ~]# ls -ld /etc/
drwxr-xr-x. 72 root root 4096 1月 24 02:33 /etc/
[root@localhost ~]#
-h 人性化显示文件大小
-i 显示inode(id号/i节点)
3硬件设备文件名
|硬件| 设备文件名|
| ------------- 😐:-------------😐
| IDE硬盘| /dev/hd[a-d] |
| ICSI/SATA/USB硬盘|/dev/sd[a-p]|
| 光驱| /dev/cdrom或/dev/hdc|
| 软盘 |/dev/fd[0-1]|
| 打印机(25针) |/dev/lp[0-2]|
| 打印机(USB) |/dev/usb/lp[0-15]|
| 鼠标 |/dev/mouse|
·相对路径:参照当前所在目录,进行查找
如:[root@imooc ~]# cd …/usr/local/src/
·绝对路径:从根目录开始指定,一级一级递归查找。在任何目录下,都能进入指定位置
如:[root@imooc ~]# cd /etc/
快捷键
tab键:命令补齐,文件名查看。
ctrl+l:清屏
##二、文件处理命令
- 目录处理命令
- 文件处理命令
- 链接处理命令
###1.目录文件处理命令:
####1.建立目录:mkdir
·mkdir -p [目录名]
-p 递归创建(先建立上级目录在创建子目录)
命令英文原意:make directiories
例: mkdir -p dv/dvd
[root@localhost ~]# mkdir -p dv/dvd
[root@localhost ~]# ls -lh
总用量 28K
-rw-------. 1 root root 975 1月 24 01:25 anaconda-ks.cfg
drwxr-xr-x. 3 root root 4.0K 1月 24 03:47 dv
-rw-r--r--. 1 root root 13K 1月 24 01:25 install.log
-rw-r--r--. 1 root root 3.8K 1月 24 01:22 install.log.syslog
-rw-r--r--. 1 root root 0 1月 24 02:05 Virtual
[root@localhost ~]# ls -ld
dr-xr-x---. 3 root root 4096 1月 24 03:47 .
[root@localhost ~]# ls -ld dv
drwxr-xr-x. 3 root root 4096 1月 24 03:47 dv
[root@localhost ~]# ls -l dv
总用量 4
drwxr-xr-x. 2 root root 4096 1月 24 03:47 dvd
[root@localhost ~]#
####2.切换目录:cd
·cd[目录]
命令英文原意:changen directory
######简化操作
cd~ 进入当前用户的家目录
cd
cd - 进入上次目录
cd … 进入上一级目录
cd . 进入当前目录
cd / 进入根目录
补充快捷键;
tab键:命令补齐,文件名查看。(按两次;列出所有命令)
pwd:显示当前所在路径
相对路径:
参照当前所在目录,进行查找(进入上一级目录再进入…之后的路径)
[root@localhost ~]# cd ../user/local/src/
·绝对路径:
从根目录开始指定,一级一级递归查找。
在任何目录下,都能进入指定位置
[root@localhost ~]# cd /etc/
####3.查询所在目录位置:pwd
·pwd 命令英文原意:printworking directory
####4.删除空目录:rmdir
·rmdir[目录名]
命令英文原意:remove empty directories
//只能删除空目录 rmdir /lols
删除文件或目录:rm
·rm -rf [文件或目录]
命令英文原意:remove
选项:
-r 删除目录
-f 强制
[root@localhost ~]# rm -rf
这条指令删除掉根目录下的所有文件相当于让linux自杀,但不影响其系统的正常运行,他会执行的 (绝对不能执行)
linux的格式化是真正的格式化
####5.复制命令:cp
·cp [选项] [原文件或目录] [目标目录]
命令英文原意:copy
选项:
-r 复制目录
-p 连带文件属性复制
-d 若源文件是链接文件,则复制链接属性
-a 相当于 -pdr
文件复制:
原名复制
[root@localhost ~]# cp anaconda-ks.cfg /tmp
改名复制
[root@localhost ~]# cp anaconda-ks.cfg /tmp/nihao
目录复制时,在cp和anaconda-ks.cfg /tmp 之间加-r
####6.剪切或改名命令:mv
·mv [原文件或目录][目标目录]
命令英文原意:move
原文件或目录:若是文件直接写名字
若是目录例如: dv1目录,应写为dv1/
目标目录:/ddd/ddd
##三、常用目录的作用
根下的目录:
[root@localhost ~]# cd /
[root@localhost /]# ls
bin dev home lib64 media opt root selinux sys usr
boot etc lib lost+found mnt proc sbin srv tmp var
文件列表
文件名称 | 含义 |
---|---|
·/ | 根目录 |
·/bin | 命令保存目录(普通用户就可以读取的命令) |
·/dev | 设备文件保存目录 |
·/home | 普通用户的家目录 |
·/lib | 系统保存目录(函数库) |
·/media | 挂载目录 |
·/boot | 启动命令,启动相关文件 |
·/etc | 配置文件保存目录 |
·/mnt | 系统挂载目录 |
·/root | 超级用户的家目录 |
·/tmp | 临时目录 |
·/sbin | 命令保存目录(超级用户使用的目录) |
·/proc | 直接写入内存的 |
·/sys | 系统 |
·/usr | 系统软件资源目录 |
/usr/bin/ | 系统命令(普通用户) |
/usr/sbin/ | 系统命令(超级用户) |
·/var | 系统相关文档内容 |
根目录下的bin和sbin,usr目录下的bin和sbin,这四个目录都是用来保存系统命令的
proc和sys目录不能直接操作,这两个目录保存的是内存的挂载点。
####链接处理命令
·ln -s [原文件] [目标文件]
·命令英文:link
-
列表内容
功能描述:生成链接文件 选项:-s 创建软连接
####硬链接特征(不建议创建硬链接):
1、拥有相同的i节点和存储block块,可以看做是同一个文件
(一个文件两个不同的接口,删除其中一个只要另一个还存在,就可以访问该文件)
2、可通过i节点识别
3、不能夸分区
4、不能针对目录使用
创建的硬链接和原文件其中任何一个文件的变化,两个文件的内容都将变化
使用命令:
vi:打开文件
wq:退出并保存文件
echo:写入命令() 将1111写入/tmp/ddd并回车换行
echo 1111 >> /tmp/ddd
命令1>>文件:将命令1的结果写入文件
cat:查看文件命令 cat /tmp/
touch:创建命令 touch csh
###软链接特征:
1、类似Windows快捷方式
2、软链接拥有自己的I节点和Block块,但是数据块block中只保存原文件的文件名和I节点号,并没有实际的文件数据。
3、Irwxrwxrwx I软链接
软链接文件权限都为rwxrwxrwx
4、修改任意文件,另一个都更改
5、删除源文件软链接不能使用。
注意:创建软链接,原文件一定要写绝对路径 不然,源文件和目标文件必须在同一个目录下才能找到
(即:若在root目录下创建sb文件,之后再tmp目录下创建相应的软链接这样写软链接是会报错的
touch sb
ln -s sb /tmp
正确的写法应该是:
touch sb
ln -s root/sb /tmp
##三、文件搜索命令
-
文件搜索命令locate
-
命令搜索命令whereis与which
-
文件搜索命令find
-
字符串搜索命令grep
-
find命令与grep命令的区别
-
locate命令格式(只能按文件名搜索)
-
locate 文件名
在后台数据库中按文件名搜索,搜索速度更快 -
/var/lib/mlocate
#locate命令所搜索的后台数据库
·updatadb
更新数据库
数据库
补充:新创建的文件使用locate命令搜不出来是因为,locate命令搜索的是数据库,想要搜到新建的文件两种方式:
1、等待第二天数据库自动更新。
2、使用updatedb命令强制更新
搜索命令遵循/etc/updatedb.conf配置文件的限制
###PRUNE_BIND_MOUNTS=“yes”
开启搜索限制###PRUNEFS=
搜索时,不搜索的文件系统
###PRUNENAMES=
搜索时,不搜索的文件类型
###PRUNEPATHS=
搜索时,不搜索的路径
[root@localhost ~]# ls
anaconda-ks.cfg canglsinstall.log install.log.syslog
[root@localhost ~]# touch /tmp/cangls
[root@localhost ~]# updatedb
[root@localhost ~]# locate cangls
/root/cangls
[root@localhost ~]# vi /etc/updatedb.conf
·搜索命令的命令whereis与which
· whereis 命令
###搜索命令所在路径及帮助文档所在位置(只能查系统命令)
选项:
-b: 只查找可执行文件
-m: 只查找帮助文件
补充:
[root@localhost ~]# ls
csb install.loginstall.log.syslogsb
[root@localhost ~]# whereis ls
ls: /bin/ls /usr/share/man/man1/ls.l.gz /usr/share/man/manlp/ls.lp.gz
[root@localhost ~]# whoami
root
想要知道某条命令是干嘛的用whatis 命令
[root@localhost ~]# whatis ls
ls (1) - list directory contents
ls (lp) - list directory contents
·搜索命令的命令which
· which 文件名
###搜索命令所在路径及别名
cd命令是shell自带的命令,不能用whereis和which查找(只能找到帮助文档,找不到可执行文件)
###PATH环境变量
·PATH环境变量:定义的是系统搜索命令的路径
[root@localhost ~]# echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/binn:/root/bin
·find命令
·find [搜索范围] [搜索条件]
#搜文件
·find / -name install.log
###避免大范围搜索,会非常耗费系统资源
###find是在系统当中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配
[root@localhost ~]# find / -name install.log
/root/install.log
linux中的通配符
* 匹配任意内容
? 匹配人一个字符
[] 匹配任意一个中括号内的字符
[root@localhost ~]# find /root -name "install.log*"
/root/install.log
/root/install.log.syslog
·find /root -iname install.log
###不区分大小写
·find /root -user root
###按照所有者搜索
·find /root -nouser
###查找没有所有者的文件
内核产生的文件无所有者例如proc 和sys
外来文件也无所有者
·find /var/log/ -mtime +10
(默认按天进行修改)
###查询10天前修改的文件
-10 10天内修改文件
10 10天当天修改的文件
+10 10天前修改的文件
atime 文件访问时间
ctime 改变文件属性
mtime 修改文件内容
|___________|___|
10天前 10天当天 10天内当前时间
·find . -size 25k(“.”:当前目录)
默认单位是块(非分区数据块)
按千字节用小写的k,
find . -size 25k
按兆字节用大写的M
find . -size 2M
###查找文件大小是25KB的文件
-25k 小于25KB的文件
25k 等于25KB的文件
+25k 大于25KB的文件
·find . -inum 262422
查找i节点是262422的文件
·find /etc -size +20k -a -size -50k
查找/etc/目录下,大于20KB并且小于50KB的文件
-a and 逻辑与,两个条件都满足
-o or 逻辑或,两个条件满足一个即可
·find /etc -size +20k -a -size -50k -exec ls -lh {} ;
查找/etc/目录下,大于20kb并且小于50科比并且小于50kb的文件,并显示详细信息
-exec/-ok 命令{};对搜索结果执行操作(形式:-exec +可以处理第一条收缩命令的结果的命令+ {} ;)
·字符串搜索命令grep
搜索字符串命令grep
·grep [选项] 字符串 文件名
###在文件当中匹配符合条件的字符串
选项:
-i 忽略大小写
-v 排除指定的字符串
[root@localhost ~]# grep "size" install.log
·find命令与grep命令的区别
-
find命令:在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配。
-
grep命令:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式是包含匹配
##四、帮助命令
- 帮助命令man
- 其他帮助命令
- 帮助命令man
###获取指令命令的帮助
例如:
man ls
####查看ls的帮助
man - format and display the on-line manual pages
NAME
SYNOPSIS
DESCRIPTION
:后输入/-d进行定位(按n键找下一个,shift找上一个)
man的级别
man的级别 |
---|
1 :查看命令的帮助 |
2 :查看可被内核调用的函数的帮助 |
3 :查看函数和函数库的帮助 |
4 :查看特殊文件的帮助(主要是/dev目录下的文件) |
5 :查看配置文件的帮助 |
6 :查看游戏的帮助 |
7 :查看其他杂项的帮助 |
8 :查看系统管理员可用命令的帮助 |
9 :查看和内核相关文件的帮助 |
查看命令拥有那个级别的帮助
· man -f 命令相当于 · whatis命令
举例:
· man -5 passwd
· man -4 null
· man -8 ifconfig
man 1 passwd
man 5 passwd
查看和命令相关的所有帮助
·man -k 命令
相当于
·apropos 命令
例如:
·apropos passwd
·选项帮助
·命令 --help
#获取命令选项的帮助
例如:
ls --help
· help shell内部命令帮助(linux命令解释器:shell)
help 只能获取内部命令的帮助集
###获取shell内部命令的帮助
例如:
#确定是否是shell内部命令
whereis cd
找的到可执行文件的位置,就是后安装的,不然就是shell自带的
#获取内部命令帮助
help cd
info命令 |
---|
-回车: 进入子帮助页面(带有*号标记) |
-u: 进入上层页面 |
-n: 进入下一个帮助小节 |
-p: 进入上一个帮助小节 |
-q: 退出 |
总结:
man --help help info
##五、压缩与解压命令
windows中的.rar在linux中不能解压缩
·常用压缩格式:.zip .gz .bz2
·常用压缩格式:.tar.gz.tar.bz2
1、常用压缩格式:.zip .gz .bz2
·.zip格式压缩(zip格式在windows和linux中通用)
·zip 压缩文件名 源文件
####压缩文件
·zip -r 压缩文件名 源目录
####压缩目录
在linux中压缩文件红颜色显示
·.zip格式解压缩
·unzip 压缩文件名
####解压缩.zip文件
·.gz格式压缩
·gzip 原文件
####压缩为.gz格式的压缩文件,源文件会消失
·gzip -c 原文件 > 压缩文件
#压缩为.gz格式,原文件保留
例如:
gzip -c 源文件 >压缩文件名
·gzip -r 目录
####压缩目录下的所有的子文件,但那时不能压缩目录
####将目录中的子文件依次压缩,目录不进行压缩,不会进行打包,变成一个整个的文件
###补充命令:
命令 > 文件名
作用将命令的结果写入指定文件
·.gz格式解压缩
·gzip -d 压缩文件
####解压缩文件
·gunzip 压缩文件
####解压缩文件
·.bz2格式压缩
·bzip2 源文件
####压缩为.bz2格式,不保留原文件。
·bzip2 -k 源文件
####压缩之后保留原文件
·bzip2命令不能压缩目录
·.bz2格式解压缩
·bzip2 -d 压缩文件
####解压缩,-k保留压缩文件
·bunzip2 压缩文件
####解压缩,-k保留压缩文件
2、常用压缩格式(通过先打包再压缩的方法解决gz和bz2不能压缩目录的弊端):.tar.gz.tar.bz2
打包命令tar
·tar -cvf 打包文件名 源文件
-
选项:
-c:打包 -v:显示过程 -f:指定打包后的文件名
例如:
tar -cvf inll.tar inll
解打包命令
·tar -xvf 打包文件名
·选项:
-x :解打包
例如:
[root@localhost test]# ls
dill dill.tar inl2.bz2 inl3 inl3.bz2 inll.gz inll.zip ni
[root@localhost test]# tar -xvf dill.tar
dill/
dill/tj
dill/ti
[root@localhost test]#
.tar.gz压缩格式
·其实.tar.gz格式是先打包为.tar格式,再压缩为.gz格式
·tar -zcvf 压缩包名.tar.gz 源文件
·选项:
-z:压缩为.tar.gz格式
·tar -zxvf 压缩包名.tar.gz
·选项:
-x:解压缩.tar.gz格式
.tar.bz2压缩格式
·tar -jcvf 压缩包名.tar.bz2 源文件
·选项:
-z:压缩为.tar.bz2格式压缩
·tar -jxvf 压缩包名.tar.bz2
·选项:
-x:解压缩.tar.bz2格式
-C指定解压缩位置
例如:
tar -jxvf dill.tar.bz2 -C /tmp/
[root@localhost test]# tar -jcvf dill.tar.bz2 dill
dill/
dill/tj
dill/ti
[root@localhost test]# ls
dill dill.tar.bz2 inl2 inl3 inll ni
[root@localhost test]# tar -zcvf dill.tar.gz dill
dill/
dill/tj
dill/ti
[root@localhost test]# ls
dill dill.tar.bz2 dill.tar.gz inl2 inl3 inll ni
[root@localhost test]# tar jxvf dill.tar.bz2 -C /tmp
dill/
dill/tj
dill/ti
[root@localhost test]# ls /tmp
dill yum.log
[root@localhost test]# tar -zxvf dill
dill/ dill.tar.bz2 dill.tar.gz
[root@localhost test]# tar -zxvf dill.tar.gz -C /root
dill/
dill/tj
dill/ti
[root@localhost test]# ls
dill dill.tar.bz2 dill.tar.gz inl2 inl3 inll ni
[root@localhost test]# ls root
ls: 无法访问root: 没有那个文件或目录
[root@localhost test]# ls /root
anaconda-ks.cfg dill install.log install.log.syslog test
·压缩多个文件:
tar -jcvf
压缩好的文件要放的路径/压缩文件名.tar.bz2 源文件1 源文件2 · · ·
tar -zcvf
压缩好的文件要放的路径/压缩文件名.tar.gz 源文件1 源文件2 · · ·
源文件用空格隔开
·查看压缩文件中的内容,但不解压
tar -jtvf 压缩好的文件要放的路径/压缩文件名.tar.bz2
tar -ztvf 压缩好的文件要放的路径/压缩文件名.tar.gz
##六、关机和重启命令
###1、shutdown命令
shutdown [选项] 时间
选项:
-c:取消前一个关机命令
-h:关机
-r:重启
date:查看当前系统时间
ctrl + c:终止退出
&: 将当前操作放入后台执行,不占用当前的操作终端。
shutdown -r 时间
标准:shutdown -r now
shutdown -h now
这时,将无法操作
按下ctrl+c终止退出
shutdown -r 时间 &
shutdown -c 取消上一重启或关机命令
服务器:不能远程关机
###2、其他关机命令(都不太安全)
halt
poweroff
init 0
###3、其他重启命令
reboot(相对安全)
init 6
###4、系统运行级别
级别 | 状态 |
---|---|
0 | 关机 |
1 | 单用户(相当于windows的安全模式,进行系统修复。例如忘记密码… 注意此时就算装了图形界面也不会运行,运行最小程序) |
2 | 不完全多用户,不含NFS服务(NFS:文件共享服务) |
3 | 完全多用户(现在使用) |
4 | 未分配 |
5 | 图形界面 |
6 | 重启 |
通过init n的方式进行系统运行级别的切换
cat /etc/inittab
####修复系统默认运行级别
id:3:initdefault:
[root@localhost~]# runlevel
N 3
####查询系统运行界别 其中N代表进入该级别前的级别,3代表当前级别
“X”大写的X代表图形界面
###5、退出登陆命令
logout
释放远程登录终端号
允许其他设备登陆
##七、其他常用命令
-
挂载命令 ·用户登录查看和用户交互命令
-
挂载命令
设备挂载之后才能使用 linux中使用U盘等外来设备时,要进行挂载
windows自动挂载(分配盘符)
###1、查询与自动挂载
·[root@localhost ~]# mount
·#查询系统中已经挂载的设备
·[root@localhost ~]# mount -a
·#依据配置文件/etc/fstab的内容,自动挂载
U盘和光盘不建议设置为开机自动挂载,因为,不能保证每次开机光驱中的光盘和U盘都在,当系统检测到没有时,他会崩溃
###2、挂载命令格式
·[root@localhost ~]# mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点
·选项:
-t 文件系统:加入文件系统类型来指定挂载的类型,可以ext3、ext4、iso9660(光盘的默认文件系统是iso9660)等文件系统
-o 特殊选项:可以指定挂载的额外选项
特殊选项
参数 | 说明 |
---|---|
atime/noatime | 更新访问时间/不更新访问时间。访问分区文件时,是否更新文件的访问时间,默认为更新 |
async/sync | 异步/同步,默认为异步 |
auto/noauto | 自动/手动,mount -a命令执行时,是否会自动安装/etc/fstab文件内容挂载,默认为自动。 |
defaults | 定义默认值,相当于rw,suid,dev,exec,auto,nouser,async这七个选项 |
exec/noexec | 执行/不执行,设定是否允许在文件系统中执行可执行文件,默认为exec允许 |
remount | 重新挂载一挂载的文件系统,一般用于指定修改特殊权限 |
rw/ro | 读写/只读,文件系统挂载时,是否具有读写权限,默认是rw |
suid/nosuid | 具有/不具有SUID权限,设定文件系统是否具有SUID和SGID的权限,默认是具有 |
user/nouser | 允许/不允许普通用户挂载,设定文件系统是否允许普通用户挂载,默认是不允许,只有root可以挂载分区 |
userquota | 写入代表文件系统支持用户磁盘配额,默认不支持 |
grpquota | 写入代表文件系统支持组磁盘配额,默认不支持 |