Linux常用命令
ls 查看
就是 list 的缩写,通过 ls 命令不仅可以查看 linux 文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等。
ls命令的基本格式 ls [选项] 目录名称
选项 | 功能 |
---|---|
-a | 显示全部的文件,包括隐藏文件(开头为 . 的文件)也一起罗列出来,这是最常用的选项之一。 |
-A | 显示全部的文件,连同隐藏文件,但不包括 . 与 … 这两个目录。 |
-d | 仅列出目录本身,而不是列出目录内的文件数据。 |
-f | ls 默认会以文件名排序,使用 -f 选项会直接列出结果,而不进行排序。 |
-F | 在文件或目录名后加上文件类型的指示符号,例如,* 代表可运行文件,/ 代表目录,= 代表 socket 文件, |
-h | 以人们易读的方式显示文件或目录大小,如 1KB、234MB、2GB 等。 |
-i | 显示 inode 节点信息。 |
-l | 使用长格式列出文件和目录信息。 |
-n | 以 UID 和 GID 分别代替文件用户名和群组名显示出来。 |
-r | 将排序结果反向输出,比如,若原本文件名由小到大,反向则为由大到小。 |
-R | 连同子目录内容一起列出来,等於将该目录下的所有文件都显示出来。 |
-S | 以文件容量大小排序,而不是以文件名排序。 |
-t | 以时间排序,而不是以文件名排序。 |
–color=never | never 表示不依据文件特性给予颜色显示。 |
–color=always | always 表示显示颜色,ls 默认采用这种方式。 |
–color=auto | auto 表示让系统自行依据配置来判断是否给予颜色。 |
–full-time | 以完整时间模式 (包含年、月、日、时、分)输出 |
–time={atime,ctime} | 输出 access 时间或改变权限属性时间(ctime),而不是内容变更时间。 |
cd 切换
cd是change directory 的缩写;cd命令后面跟一个路径,用于切换当前用户所在的路径,其中路径可以是绝对路径也可以是相对路径。
cd 命令的基本格式 cd [相对路径或绝对路径]
特殊符号 | 作 用 |
---|---|
~ | 代表当前登录用户的主目录 |
~用户名 | 表示切换至指定用户的主目录 |
- | 代表上次所在目录 |
. | 代表当前目录 |
. . | 代表上级目录 |
cp 复制
cp是copy 的缩写。用于复制文件或文件夹。
cp 命令的基本格式 cp [选项] 源文件 目标文件
选项 | 功能 |
---|---|
-d | 如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接。 |
-i | 询问,如果目标文件已经存在,则会询问是否覆盖。 |
-l | 把目标文件建立为源文件的硬链接文件,而不是复制源文件。 |
-s | 把目标文件建立为源文件的软链接文件,而不是复制源文件。 |
-p | 复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间)。 |
-r | 递归复制,用于复制目录。 |
-u | 若目标文件比源文件有差异,则使用该选项可以更新目标文件,此选项可用于对文件的升级和备用。 |
mkdir 创建
mkdir是make directory 的缩写。用于创建文件夹。创建文件夹前需保证当前用户对当前路径有修改的权限。
mkdir 命令的基本格式 mkdir [-mp] 目录名
选项 | 功能 |
---|---|
-m | 选项用于手动配置所创建目录的权限,而不再使用默认权限 |
-p | 选项递归创建所有目录。 |
rm 删除
rm是remove 的缩写。用于删除文件或文件夹,常用参数-r -f,-r表示删除目录,也可以用于删除文件,-f表示强制删除,不需要确认。同样的,删除文件前需保证当前用户对当前路径有修改的权限。
rm 命令的基本格式 rm[选项] 文件或目录
选项 | 功能 |
---|---|
-f | 强制删除(force),和 -i 选项相反,使用 -f,系统将不再询问,而是直接删除目标文件或目录 |
-i | 和 -f 正好相反,在删除文件或目录之前,系统会给出提示信息,使用 -i 可以有效防止不小心删除有用的文件或目录。 |
-r | 递归删除,主要用于删除目录,可删除指定目录及包含的所有内容,包括所有的子目录和文件 |
mv 移动或修改
移动文件或修改文件名,根据第二参数类型(如目录,则移动文件;如为文件则重命令该文件)。
当第二个参数为目录时,第一个参数可以是多个以空格分隔的文件或目录,然后移动第一个参数指定的多个文件到第二个参数指定的目录中。
mv 命令的基本格式 mv 【选项】 源文件 目标文件
选项 | 功能 |
---|---|
-f | 强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖 |
-i | 交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项)。 |
-n | 如果目标文件已经存在,则不会覆盖移动,而且不询问用户 |
-v | 显示文件或目录的移动过程 |
-u | 若目标文件已经存在,但两者相比,源文件更新,则会对目标文件进行升级 |
cat 创建、查看和合并
cat 主要有三大功能:
-
一次显示整个文件:
cat filename
-
从键盘创建一个文件:
cat > filename
只能创建新文件,不能编辑已有文件。
-
将几个文件合并为一个文件:
cat file1 file2 > file
cat [选项] 文件名
选项 | 含义 |
---|---|
-A | 相当于 -vET 选项的整合,用于列出所有隐藏符号; |
-E | 列出每行结尾的回车符 $; |
-n | 对输出的所有行进行编号; |
-b | 同 -n 不同,此选项表示只对非空行进行编号。 |
-T | 把 Tab 键 ^I 显示出来; |
-V | 列出特殊字符; |
-s | 当遇到有连续 2 行以上的空白行时,就替换为 1 行的空白行。 |
more 分页查看
功能类似于 cat, more 会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示。
more 命令的基本格式 more [选项] 文件名
选项 | 含义 |
---|---|
-f | 计算行数时,以实际的行数,而不是自动换行过后的行数。 |
-p | 不以卷动的方式显示每一页,而是先清除屏幕后再显示内容。 |
-c | 跟 -p 选项相似,不同的是先显示内容再清除其他旧资料。 |
-s | 当遇到有连续两行以上的空白行时,就替换为一行的空白行。 |
-u | 不显示下引号(根据环境变量 TERM 指定的终端而有所不同)。 |
+n | 从第 n 行开始显示文件内容,n 代表数字。 |
-n | 一次显示的行数,n 代表数字。 |
head 从头查看
head 用来显示档案的开头至标准输出中,默认 head 命令打印其相应文件的开头 10 行。
head 命令的基本格式 head [选项] 文件名
选项 | 含义 |
---|---|
-n K | 这里的 K 表示行数,该选项用来显示文件前 K 行的内容;如果使用 “-K” 作为参数,则表示除了文件最后 K 行外,显示剩余的全部内容。 |
-c K | 这里的 K 表示字节数,该选项用来显示文件前 K 个字节的内容;如果使用 “-K”,则表示除了文件最后 K 字节的内容,显示剩余全部内容。 |
-v | 显示文件名; |
less 随意查看
less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。
less 命令的基本格式 less [选项] 文件名
选项 | 含义 |
---|---|
-N | 显示每行的行号。 |
-S | 行过长时将超出部分舍弃。 |
-e | 当文件显示结束后,自动离开。 |
-g | 只标志最后搜索到的关键同。 |
-Q | 不使用警告音。 |
-i | 忽略搜索时的大小写。 |
-m | 显示类似 more 命令的百分比。 |
-f | 强迫打开特殊文件,比如外围设备代号、目录和二进制文件。 |
-s | 显示连续空行为一行。 |
-b <缓冲区大小> | 设置缓冲区的大小。 |
-o <文件名> | 将 less 输出的内容保存到指定文件中。 |
-x <数字> | 将【Tab】键显示为规定的数字空格。 |
tail 从后查看
用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
tail 命令的基本格式 tail [选项] 文件名
选项 | 含义 |
---|---|
-n K | 这里的 K 指的是行数,该选项表示输出最后 K 行,在此基础上,如果使用 -n +K,则表示从文件的第 K 行开始输出。 |
-c K | 这里的 K 指的是字节数,该选项表示输出文件最后 K 个字节的内容,在此基础上,使用 -c +K 则表示从文件第 K 个字节开始输出。 |
-f | 输出文件变化后新增加的数据。循环读取(常用于查看递增的日志文件) |
cal 日历
命令 | 作用 |
---|---|
cal | 查看当前月的日历 |
cal -y | 查看当前年的日历 |
cal 2020 | 查看2020年的日历 |
cal 10 2020 | 查看2020年10月的日历 |
date 时间
命令 | 作用 |
---|---|
date | 查看系统时间(默认) |
date +"%Y-%m-%d %H:%M:%S" | 查看系统时间(指定格式) |
date -s “时间字符串” | 设置系统时间 |
磁盘信息
命令 | 作用 |
---|---|
df -h | disk free 显示磁盘剩余空间 |
du -h [目录名] | disk usage 显示目录下的目录大小 |
进程信息
序号 | 命令 | 作用 |
---|---|---|
01 | ps aux | process status 查看进程的详细情况 |
02 | top | 动态显示运行中进程并且排序 |
03 | kill [-9] | 进程代号 终止指定代号的进程 -9 表示强行终止 |
ps
选项说明功能,默认只会显示当前用户通过终端启动的应用程序
选项 | 含义 |
---|---|
a | 显示终端上的所有进程,包括其他用户的进程 |
u | 显示进程的详细状态 |
x | 显示没有控制终端的进程 |
用户权限相关命令
ls -l
可以查看文件夹下文件的详细信息, 从左到右 依次是:
- 权限, 第一个字符表示是否为普通文件、目录或者链接文件等
- 硬链接数, 通俗的讲就是有多少种方式, 可以访问当前目录和文件
- 拥有者, 所属用户
- 组,所属组
- 大小
- 时间
- 名称
用户管理
命令 | 作用 | 说明 |
---|---|---|
useradd -m -g 组 新建用户名 | 添加新用户 | -m 自动建立用户家目录,-g 指定用户所在的组, 否则会建立一个和同名的组 |
passwd 用户名 | 设置用户密码 | 如果是普通用户,直接用 passwd可以修改自己的账号密码 |
userdel -r 用户名 | 删除用户 | -r 选项会自动删除用户家目录 |
cat /etc/passwd | grep 用户名 | 确认用户信息 | 新建用户后,用户信息会保存在 /etc/passwd 文件夹中 |
提示:
- 创建用时, 如果忘记添加 -m 选项指定新用户的家目录 , 最简单的方式就是删除用户,重新创建
- 创建用户时, 默认会创建一个和用户名同名的组名
- 用户信息保存在 /etc/passwd 文件中
组管理
序号 | 命令 | 作用 |
---|---|---|
01 | groupadd 组名 | 添加组 |
02 | groupdel 组名 | 删除组 |
03 | cat /etc/group | 确认组信息 |
04 | chgrp 组名 文件/目录名 | 修改文件/目录的所属组 |
查看用户信息
序号 | 命令 | 作用 |
---|---|---|
01 | id [用户名] | 查看用户UID 和 GID 信息 |
02 | who | 查看当前所有登录的用户列表 |
03 | whoami | 查看当前登录用户的账户名 |
su 切换用户
因为 普通用户 不能使用某些权限, 所以需要 切换用户
序号 | 命令 | 作用 | 说明 |
---|---|---|---|
01 | su - 用户名 | 切换用户, 并且企划目录 | - 可以切换到用户家目录, 否则保持位置不变 |
02 | exit | 退出当前登录用户 |
sudo
虽然 通过su -u root
可以切换到 root用户, 但是 存在严重的 安全隐患
linux系统中的 root 账号通常 用于系统的维护和管理, 对操作系统的所有资源 具有访问权限,如果不小心使用 rm -rf
, 就可能将系统搞瘫痪
在大多数版本的linux中, 都不推荐 直接使用 root 账号登录系统
sudo
命令用来以其他身份来执行命令, 预设的身份为root
用户使用sudo
时, 必须先输入密码, 之后5分钟的有效期限, 超过期限则必须重新输入密码
给 指定用户 授予 权限
通知 服务器 给 特定用户 分配 临时管理员权限
vim /etc/sudoers
# 默认存在: root用户 具备所有的权限
root ALL=(ALL) ALL
# 授予 zhangsan 用户 所有的权限
zhangsan ALL=(ALL) ALL
修改用户权限
命令 | 作用 |
---|---|
chmod | 修改权限 |
方式一
可以修改 用户/组 对 文件/目录 的权限
chmod +/‐ rwx 文件名|目录名
方式二
虽然 方式一 直接修改文件|目录的 读|写|执行 权限, 但是不能精确到 拥有者|组|其他 权限
u
表示所属用户
g
表示所属组
o
表示其他
chmod ‐R u=rwx,g=rx,o=rwx 文件|目录
序号 | 权限 | 英文 | 缩写 | 数字序号 |
---|---|---|---|---|
01 | 读 | read | r | 4 |
02 | 写 | write | w | 2 |
03 | 执行 | execute | x | 1 |
04 | 无权限 | - | 0 |
方式三
chmod ‐R 755 文件|目录
说明:
第一个数字 是 拥有者权限
第二个数字 是 组权限
第三个数字 是 其他用户权限