Linux基本指令
一.常用指令:
1.目录操作指令
1.1.1 ls命令
ls是最常见的目录操作命令,主要作用是显示目录下的内容
命令名称:ls
英文原意:list
所在路径:/bin/ls
功能描述:显示目录下的内容
代码:
[root@localhost ~]# ls [选项] [文件名或者目录名]
-a 显示所有文件
--color=when :支持颜色输出,when的默认值是always(总显示颜色),也可以是never(从不)或者auto(自动)
-d 显示目录信息,而不是目录下的文件
-h 人性化显示
-i 显示文件的i节点
-l 长格式显示
演示:
[root@hadoop100 ~]# ls -l
总用量 16
drwxr-xr-x. 2 root root 29 12月 23 11:24 123
-rw-------. 1 root root 1687 11月 25 21:49 anaconda-ks.cfg
-rw-r--r--. 1 root root 41 12月 7 12:26 b1001
-rw-r--r--. 1 root root 181 12月 23 14:13 b1001.zip
drwxr-xr-x. 2 root root 6 12月 7 12:28 d1001
drwxr-xr-x. 2 root root 6 12月 6 18:36 folder
-rw-r--r--. 1 root root 1735 12月 6 13:50 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 199 12月 22 15:16 scripts
drwxr-xr-x. 2 root root 18 12月 8 16:44 公共
drwxr-xr-x. 2 root root 6 11月 25 21:51 模板
drwxr-xr-x. 2 root root 6 11月 25 21:51 视频
drwxr-xr-x. 2 root root 6 11月 25 21:51 图片
drwxr-xr-x. 2 root root 6 11月 25 21:51 文档
drwxr-xr-x. 2 root root 6 11月 25 21:51 下载
drwxr-xr-x. 2 root root 6 11月 25 21:51 音乐
drwxr-xr-x. 2 root root 29 11月 26 20:40 桌面
权限 引用计数 所有者 所属组 大小(字节) 修改日期 文件名
1.1.2 cd命令
cd命令是切换所在目录的命令
命令名称:cd
英文原意:change directory
所在路径:Shell内置命令
执行权限:所有用户
功能描述:切换所在目录
[root@localhost ~]# cd [文件名或者目录名]
~ 家路径
- 代表上次所在目录
. 代表当前目录
.. 返回上层目录
1.1.3 绝对路径和相对路径
绝对路径:以根目录为参照物,从根目录开始。一级一级进去目录
相对路径:以当前目录为参照物,进行目录查找。
1.1.3 pwd命令
pwd命名是查询当前所在目录
命令名称:pwd
英文原意:print work directory
所在路径:/bin/pwd
执行权限:所有用户
功能描述:查询当前所在目录
1.1.4mkdir命令
mkdir是创建目录的命令
命令名称:mkdir
英文原意:make directory
所在路径:/bin/mkdir
执行权限:所有用户
功能描述:创建空目录
命令格式:
[root@localhost ~]# mkdir [选项] 目录名
选项:
-p 递归创建目录
1.1.5 rmdir命令
rmdir是删除当前目录
命令名称:rmdir
英文原意:remove directory
所在路径:/bin/rmdir
执行权限:所有用户
功能描述:删除空目录
命令格式:
[root@localhost ~]# rmdir [选项] 目录名
选项
-p 递归删除目录
2.文件操作命令
1.2.1.touch命令
创建空文件或者修改文件时间
命令名称:touch
英文原意:change file timestamps
所在路径:/bin/touch
执行权限:所有用户
功能描述:创建空文件或者修改文件时间
命令格式:
[root@localhost ~]# touch 文件名
1.2.2stat命令
查看文件的详细信息,而且可以看到文件的这三个时间
命令名称:stat
英文原意:display file or file system status
所在路径:/bin/stat
执行权限:所有用户
功能描述:显示文件详细信息
命令格式:
[root@hadoop100 ~]# stat b1001
文件:"b1001"
大小:41 块:8 IO 块:4096 普通文件
设备:803h/2051d Inode:33582185 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2022-12-23 14:32:19.597253776 +0800
最近更改:2022-12-07 12:26:56.000000000 +0800
最近改动:2022-12-23 14:29:56.865318081 +0800
创建时间:-
1.2.3cat命令
查看文件内容
命令名称:cat
英文原意:concatenate files and print on the standard output
所在路径:/bin/cat
执行权限:所有用户
功能描述:合并文件并且打印到标准输出
命令格式:
[root@localhost ~]# cat [选项] 文件名
选项:
-A 相当于vET选项的整合,用于列出所有隐藏符号
-E 列出每行结尾的回车符号
-n 显示行号
-T 把Tab键用^I显示出来
-v 显示特殊字符
1.2.4more命令
more是分屏显示文件的命令,其基本信息如下
命令名称:more
英文原意:file perusal fifter for crt viewin
所在路径:/bin/more
执行权限:所有用户
功能描述:分屏显示文件内容
命令格式:
more 会打开一个交互页面
空格键 向下翻页
b 向上翻页
回车键 向下滚动一行
/字符串 搜索指定的字符串
q 退出
1.2.5less命令
less命令和more相似,more为分屏显示内容,less为分行显示内容
命令名称:less
英文原意:opposite of more
所在路径:/bin/less
执行权限:所有用户
功能描述:分行显示文件内容
1.2.6head命令
head是用来显示文件开头的命令
命令名称:head
英文原意:output the first part of files
所在路径:/usr/bin/head
执行权限:所有用户
功能描述:显示文件开头的内容
命令格式:
[root@hadoop100 ~]# head -n 19 anaconda-ks.cfg
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
cdrom
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=cn --xlayouts='cn'
# System language
lang zh_CN.UTF-8
选项
-n 行数: 从文件头开始,显示指定行数
-v 显示文件名
1.2.7tail命令
tail是显示文件尾部的命令
命令名称:tail
英文原意:output the last part of files
所在路径:/usr/bin/tail
执行权限:所有用户
功能描述:显示文件尾部的内容
命令格式:
选项
-n 行数: 从文件尾部开始,显示指定行数
-f 监听文件的新增内容
1.2.8ln命令
命令名称:ln
英文原意:link
所在路径:/bin/ln
执行权限:所有用户
功能描述:在文件之间建立链接
命令格式:
[root@localhost~]# ln [选项] 源文件 目标文件
选项:
-s :建立软链接文件,如果不加-s那么建立硬链接
-f 强制,如果文件已经存在,那么删除目标文件再建立
[root@hadoop100 ~]# ln -s 123 /tmp/123_s
3.目录和文件都能使用的命令
1.3.1rm命令
命令名称:rm
英文原意:remove file or directory
所在路径:/bin/rm
执行权限:所有用户
功能描述:删除文件或者目录
命令格式:
[root@localhost~]# rm [选项] 文件或目录
选项:
-r 递归删除,可以删除目录
-f 强制删除
-i 交互式删除
1.3.2cp命令
命令名称:cp
英文原意:copy file or directory
所在路径:/bin/cp
执行权限:所有用户
功能描述:复制文件或者目录
命令格式:
[root@localhost~]# rm [选项] 源文件 目标文件
选项:
-a 相当于-dpr选项的集合
-d 若源文件为软链接,则复制出来的目标文件也为软链接
-i 询问,如果目标已经存在,询问是否覆盖
-p 复制后目标文件保留源文件的属性(所属者,所属组,权限和时间)
-r 递归复制
1.3.3mv命令
命令名称:mv
英文原意:move(rename) files
所在路径:/bin/mv
执行权限:所有用户
功能描述:移动文件或改名
命令格式:
[root@localhost~]# mv [选项] 源文件 目标文件
选项:
-f 强制覆盖,若目标文件已经存在,则不询问,直接强制覆盖
-d 交互移动,如果目标文件已经存在,则询问用户是否覆盖
-v 显示详细信息
4.基本权限管理
1.4.1chmod命令
命令名称:chmod
英文原意:change file mode this
所在路径:/bin/chmod
执行权限:所有用户
功能描述:修改文件权限模式
命令格式:
[root@localhost~]# chmod [选项] 权限模式 文件
选项:
-R 递归修改目录中的权限
1.4.2权限模式
chmod权限模式的格式是“[ugoa] [+-=] [perms]”,也就是“[用户身份] [赋予方式] [权限]”的格式,
用户身份:
u:代表所有者
g:代表所属组
o:代表其他用户
a:代表全体身份
赋予方式:
+:增加权限
-:减去权限
=:设置权限
权限:
r:read (可读)
w:write(可写)
x:execute(可执行)
1.4.3数字权限
4:read (可读)
2:write(可写)
1:execute(可执行)
所有者和所属组命令
1.4.4chown命令
chown是修改文件所有者和所属组的命令
命令名称:chown
英文原意:change file owner and group
所在路径:/bin/chown
执行权限:所有用户
功能描述:修改文件或者目录的所有者或所属组
命令格式:
[root@localhost~]# chown [选项] 所有者:所属组 文件或目录
选项:
-R 递归修改目录中的权限
普通文件不能修改文件的所有者,哪怕自己是这个文件的所有者也不行
普通用户可以修改自己文件的权限
1.4.5chgrp
命令名称:chgrp
英文原意:change group ownership
所在路径:/bin/chgrp
执行权限:所有用户
功能描述:修改文件或者目录的所属组
命令格式:
[root@localhost~]# chgrp [选项] 所属组 文件或目录
umask默认权限
5.帮助命令
1.5.1man命令
man是最常见的帮助命令,也是linux最主要的帮助命令
命令名称:man
英文原意:manual
所在路径:/usr/bin/man
执行权限:所有用户
功能描述:显示联机帮助手册
命令格式:
[root@localhost~]# man [选项] 命令
选项:
-f: 查看命令拥有哪个级别的帮助
-k: 查看和命令相关的所有帮助
man命令的快捷键
快捷键 | 作用 |
---|---|
上箭头 | 向上移动一行 |
下箭头 | 向下移动一行 |
PgUp | 向上翻一页 |
PgDn | 向下翻一页 |
g | 移动到第一页 |
G | 移动到最后一页 |
q | 退出 |
/字符串 | 从当前页向下搜索字符串 |
?字符串 | 从当前页向上搜索字符串 |
n | 当搜索字符串时,可以用n找到下一个字符串 |
N | 当搜索字符串时,可以用N反向查询字符串,也就是说如果用“/字符串”搜索,那么N会表示向上搜索字符串,反之,向下搜索字符串 |
man命令的帮助等级
man -f 命令 或 whatis 命令
查看命令拥有哪个等级的帮助
man -k命令 或 apropos 命令
查看和命令相关的所有帮助
1.5.2info命令
1.5.3help命令
help只能获得linux内置命令的帮助
命令名称:help
英文原意:help
所在路径:shell内置命令
执行权限:所有用户
功能描述:显示shell内置命令的帮助
1.5.4 --help命令
6.搜索命令
1.6.1whereis 命令
whereis是搜索系统命令的命令
命令名称:whereis
英文原意:locate the binary ,source,and manual page files for a command
所在路径:/usr/bin/whereis
执行权限:所有用户
功能描述:查找二进制命令,源文件和帮助文档的命令
1.6.2which命令
which也是搜索系统命令的命令,和whereis的区别在于
whereis可以在查找二进制命令的同时,找到帮助文档的位置
而which在查找二进制命令的时候,如果此命令有别名,那么还可以找到别名
命令名称:which
英文原意:shows the full path of (shell)commands
所在路径:/usr/bin/which
执行权限:所有用户
功能描述:列出命令所在路径
1.6.3locate命令
locate命名是可以按照文件名搜索普通文件的命令
优点:依照数据库搜寻,搜寻速度快,消耗资源少,数据库位置/var/lib/mlocate/mlocate.db
(可以使用updatedb来更新数据库)
缺点:只能按照文件名寻找
1.6.4find命令
命令名称:find
英文原意:search for files in a directory hierarchy
所在路径:/bin/find
执行权限:所有用户
功能描述:在目录中搜索文件
1.按照文件名搜索
[root@localhost~]# find 搜索路径 [选项] 搜索内容
选项:
-name: 按照文件名搜素
-iname: 按照文件名搜索,不区分大小写
-inum: 按照inode号搜索
2.按照文件大小搜索
[root@localhost~]# find 搜索路径 [选项] 搜索内容
选项:
-size [+-]大小: 按照指定大小搜索文件
+:代表比指定大小大
-:代表比指定大小小
find命令的单位:
-size n[bckw]
文件使用了 n 单位个存储单元。默认的单位是512字节的块,也可以用n后面加上 `b'
来指定这个值。其他的单位是字节,如果在 n 后面加上 `c' ;千字节(kB),如果在 n 后面加上`k'
;两字节的字,如果在 n 后面加上 `w' 。大小不会计入 indirect
blocks,但是会计入没有真正分配空间的疏松文件中的块。
3.按照修改时间搜索
linux的文件中有访问时间(atime),数据修改时间(mtime),状态修改时间(ctime)这三个时间,我们也按照时间来搜索文件
[root@localhost~]# find 搜索路径 [选项] 搜索内容
选项:
-atime [+|-]时间: 按照文件访问时间搜索
-mtime [+|-]时间: 按照文件数据修改时间搜索
-ctime [+|-]时间: 按照文件状态修改时间搜索
-5:代表五天内修改的文件
5:代表5-6那天修改的文件
+5:代表6天前修改的文件
4.按照权限搜索
[root@localhost~]# find 搜索路径 [选项] 搜索内容
选项:
-perm 权限模式: 查找权限刚好等于权限模式的文件
-perm -权限模式: 查找权限全部包含权限模式的文件
-perm +权限模式: 查找权限包含权限模式的任意一个权限的文件
5.按照所有者和所属组查找
[root@localhost~]# find 搜索路径 [选项] 搜索内容
选项:
-uid 用户id :按照uid查找所属者是uid的文件
-gid 组id :按照gid查找所属组是gid的文件
-user 用户名 : 按照用户名查找所属者为user的文件
-group 组名 :按照组名查找所属组为group的文件
-nouser :查找没有所属者的文件
6.按照文件类型搜索
[root@localhost~]# find 搜索路径 [选项] 搜索内容
选项:
type d: 查找目录
type f: 查找文件
type l: 查找软链接文件
7.逻辑运算符
[root@localhost~]# find 搜索路径 [选项] 搜索内容
选项:
-a: 逻辑与
-o: 逻辑或
-not: 逻辑非
8.其他选项
1)-exec选项
[root@hadoop100 ~]# find /etc -iname passwd -exec ls {} \;
/etc/pam.d/passwd
/etc/passwd
2)-ok选项
[root@hadoop100 ~]# find /etc -iname passwd -ok ls {} \;
< ls ... /etc/pam.d/passwd > ? y
/etc/pam.d/passwd
< ls ... /etc/passwd > ? y
/etc/passwd
-exec和-ok基本一致,-ok会在询问后处理,而exec不会
1.6.5 grep命令
[root@hadoop100 ~]#grep [选项] "搜索内容" 文件名
选项:
-i 忽略大小写
-n 输出行号
-v 反向查找
--color=auto 搜索出的关键字用颜色显示
1.6.6管道符
命令格式
命令一 | 命令二
命令一的正确结果作为命令二的操作对象
1.6.7命令的别名
命令格式
[root@hadoop100 ~]# alias 查询命令别名
# alias ser='systemctl start network' 设置别名
1.6.8常用快捷键
快捷键 | 作用 |
---|---|
TAB | 快速补全 |
CTRL+A | 移动光标到命令行开头 |
CTRL+E | 移动光标到命令行结尾 |
CTRL+C | 中止当前命令 |
CTRL+U | 删除或者剪切光标的命令 |
CTRL+L | 清屏 |
CTRL+Y | 粘贴CTRL+U的内容 |
7.压缩命令
1.zip格式
zip是windows中最常用的压缩格式,linux也可以识别zip文件,这可以方便的和windows互通文件
1.1zip格式的压缩命令
压缩命令就是zip
命令名称:zip
英文原意:package and compress files
所在路径:/usr/bin/zip
执行权限:所有用户
功能描述:压缩目录或文件
命令格式:
[root@hadoop100 ~]# zip [选项] 文件名 要压缩的文件
选项
-r 压缩目录
[root@hadoop100 ~]# zip b1001.zip b1001
1.2zip格式的解压缩命令
解压缩命令就是unzip
命令名称:unzip
英文原意:
所在路径:/usr/bin/unzip
执行权限:所有用户
功能描述:解压缩目录或文件
命令格式:
[root@hadoop100 ~]# unzip [选项] 要解压缩的文件
选项
-d 指定解压地点
[root@hadoop100 ~]# unzip -d /tmp/ b1001.zip
2.gz格式
2.1gz格式的压缩命令
gz格式是linux中最常见的压缩格式,使用gzip命令进行压缩,
[root@hadoop~]# gzip [选项] 源文件
选项
-c:将压缩数据输出到标准输出中,可以用于保留源文件
-d:解压缩
-r:压缩目录
2.2gz格式的解压缩命令
如果要解压缩gz格式,那么使用gzip -d和gunzip都是可以的
命令名称:gunzip
英文原意:
所在路径:/bin/gunzip
执行权限:所有用户
功能描述:解压缩目录或文件
[root@hadoop~]# gunzip [选项] 压缩文件
3.bz2格式
4.tar格式
4.1tar格式的打包
tar格式的打包和解打包都是用tar命令,区别知识选项不同。
命令名称:tar
英文原意:tar
所在路径:/bin/tar
执行权限:所有用户
功能描述:打包和解打包命令
命令格式:
[root@hadoop~]# tar [选项] [-f 压缩包名] 源文件或目录
选项:
-c: 打包
-f: 指定压缩包的文件名。
-v: 显示文件打包过程。
[root@hadoop100 ~]# tar -cvf anaconda-ks.cfg.tar anaconda-ks.cfg
anaconda-ks.cfg
打包,不会压缩
4.2tar格式的解打包
[root@hadoop ~]# tar [选项] 压缩包
选项:
-x: 解打包
-f: 指定压缩包的文件名
-v: 显示解打包文件过程
-t: 测试,就是不解包,只是看看文件内容
-C(大): 指定解打包位置
[root@hadoop100 ~]# tar -xvf anaconda-ks.cfg.tar
5."bz2.tar"和"gz.tar"的压缩解压缩
[root@hadoop ~]# tar [选项] 压缩包 源文件或者目录
选项
-z :压缩和解压缩“.tar.gz”格式
-j :压缩和解压缩“.tar.bz2”格式
例如:
[root@hadoop100 ~]# tar -zcvf folder.gz.tar folder/
folder/ #打包压缩folder文件夹
[root@hadoop100 ~]# tar -zxvf folder.gz.tar
folder/ #解包解压缩文件
[root@hadoop100 ~]# tar -zxvf folder.gz.tar -C /tmp
folder/ #解包解压缩文件到指定位置
8.关机和重启
1.sync数据同步
sync命令的基本信息如下
命令名称:sync
英文原意:flush file system buffers
所在路径:/bin/sync
执行权限:所有用户
功能描述:刷新文件系统缓冲区
2.shutdown命令
shutdown命令的基本信息如下
命令名称:shutdown
英文原意:bring the system down
所在路径:/sbin/shutdown
执行权限:超级用户
功能描述:关机和重启
命令的基本格式如下:
[root@hadoop~]# shutdown [选项] 时间 [警示信息]
选项:
-c: 取消已经执行的shutdown命令
-h: 关机
-r: 重启
3.reboot命令
[root@hadoop~]# reboot #重启
4.halt和poweroff命令
这两个都是关机命令,直接执行即可。这两个命令不会完整关闭和保存系统服务,不建议使用。
[root@hadoop~]# halt
#关机
[root@hadoop~]# poweroff
#关机
5.init命令
[root@hadoop~]# init 0
#关机,调用系统的0级别
[root@hadoop~]# init 6
#重启,调用系统的6级别