ls 执行ls指令可列出目录的内容,包括文件和子目录的名称
ls [选项][文件或目录]
选项:
-l 每列仅显示一个文件或目录名称 (ls -l 以列的方式显示)
-a 或 --all 所有的文件和目录 (ls -a 显示所有包括隐藏目录)
-i 或 --indoe 显示文件和目录的inode编号 (ls -a /bin 显示/bin下的所有文件)
文件或目录:制定的目录或文件,如果没有这一项,默认当前目录
cd 在不同的目录间切换,但该用户必须拥有足够的权限进入目的目录
cd [选项][文件或目录]
选项:
文件或目录
绝对路径:一定由根目录/写起
相对路径:相对于某一路径,其中.代表当前目录 ..代表上一级目录 ~代表家目录
uname 会显示出关于系统的重要信息,如内核名称,主机名,内核版本,处理机类型等
uname [选项][文件或目录]
选项:
-r 内核版本
-n 主机名
-a 所有信息
查看发行版的版本 cat /etc/redhat-release
touch 使用touch指令可更改文件或目录的日期时间,包括存取时间和更改时间。注意的是如果文件不存在则创建文件。
touch [选项][文件或目录]
选项:
-t 使用指定的时间,而非现在的时间
touch file 改变file文件的时间
touch -t 1202312200101 file 指定时间改变为2023年12月20日1时1分
文件或目录 要改变文件的路径
mkdir [选项][文件或目录]
选项:
-p 递归创建目录,嵌套目录 (mkdir -p aa/bb/cc 创建一个嵌套的目录)
文件或目录 跟目录的路径
注意:文件名大小写敏感,不可超越255字符,不可以使用/ , 建议不要 ~ \ < > ( ) $ * ? " '
cp 将文件和目录从一个目录拷贝到另一个目录
cp [选项][源文件文件或目录][目的文件或目录]
选项:
-i 在拷贝过程中询问是否要拷贝
-f 在拷贝过程中不询问直接拷贝
-r 拷贝目录中的所有文件和目录
cp /aa /home/king 将根下的aa拷贝到home下的king中
文件或目录
源文件或目录 :指的是需要拷贝哪个文件的路径
目的文件或目录 : 指要把源文件或目录拷贝到哪里的路径
rmdir 删除空的文件目录
rmdir [选项][目录]
选项:
-p 删除指定目录上的所有目录
rmdir /aa 删除根下aa空目录
文件或目录 要删除的文件目录的路径
rm 删除文件或目录,执行rm指令可删除文件或目录,如欲删除目录必须加上参数"-r",否则预设仅会删除文件
rm [选项][文件或目录]
选项:
-i 删除时询问是否要删除
-f 删除时不询问直接删除
-r 递归删除目录下的所有文件或目录 (rm -r /aa 删除aa目录下的所有文件或目录)
文件或目录 : 所要删除的文件或目录的路径
mv 可移动文件或目录,或是更改文件或目录的名称
mv [选项][源文件或目录][目标文件或目录]
选项:
-i 在移动时有覆盖时询问是否要覆盖
-f 在移动时有覆盖不询问直接覆盖
mv /aa ~/ 将aa移动到家目录下
mv aa bb 将aa更名bb
文件或目录
源文件或目录 : 要移动或更名的文件或目录
目标文件或目录 : 如果有不是当前路径的路径就是要移动,如果是当前路径下就是更名
tar 要是用来打包或解压,压缩或这是解压缩的一个命令,常常用作备份文件使用,或将许多文件打成一个包并压缩
tar [选项][目标包名][源文件或目录]
选项:
-c 创建一个包
-f 定义目标包
tar -cf xxx.tar /aa 将aa打成xxx.tar包
目标包名 : 要打成的包名
源文件名或目录名 : 哪些文件要被打成包
tar [选项] [包名]
选项:
-t:查看 包 里面的文件!
-f: 定义目标包
tar -tf xxx.tar 在不解包的情况下查看 里面的文件或目录
目标包名 : 查看xxx.tar 的包的路径
tar [选项] [包名] [源文件或目录]
选项:
-r 将文件追加到包中
-f 定义目标包
tar -rf xxx.tar bb 将bb文件追加到xxx.tar 包中
包名: 查看xxx.tar 的包的路径
源文件或目录: 要添加的文件或这目录
tar [选项] [包名]
选项:
-x 将包 解包
-f 定义目标包
tar -xf xxx.tar 将xxx.tar中的文件解包
包名: 查看xxx.tar 的包的路径
tar [选项] [压缩名] [源文件]
选项:
-c 打包
-z 将打包的文件用gzip格式压缩
-v 显示过程
-f 定义目标包
tar -czvf xxx.tar.gz /aaa bb 将/aaa bb 文件 打包压缩为 xxx.tar.gz
压缩名: 指定压缩的名字
源文件: 要打包压缩的文件
tar [选项] [包名]
选项:
-x 解包解压
-z 以gzip的格式进行解压
-v 显示过程
-f 定义目标包
tar -xzvf xxx.tar.gz 将 xxx.tar.gz解包解压到当前目录下
包名: 查看xxx.tar 的包的路径
man 是Linux下的帮助指令,通过man指令可以查看 Linux中的指令帮助、配置文件帮助和编程帮助等信息。
man [选项] 命令名
选项:
-a 在所有的man帮助手册中搜索
-f 等价于whatis指令,显示给定关键字的简短描述信息
man ls 通过man手册查看ls
man -f ls 简要的查看ls的作用
find 在指定目录下查找文件。任何位于参数之前的字符 串都将被视为欲查找的目录名。如果使用该命令时, 不设置任何参数,则find命令将在当前目录下查找 子目录与文件。并且将查找到的子目录和文件全部进行显示。
find [查找的路径] [选项] [参数]
选项:
-name:按名称查找
-iname: 忽略大小写
find . -name “*.txt” 在当前文件夹下查找 以.txt结尾的文件
find . -name “*.txt” -o -name “*.pdf” 在当前目录下查找以.txt 结尾的或这以.pdf结尾
find . -iname “AA” 忽略大小写查找AA文件
选项: 用双引号引起来
纯文本文档(ASCII)
二进制文件(binary)
数据格式文件(data)
即一些串行端口的接口文件,如键盘、鼠标等
管道文件(FIFO)也是一种特殊的文件类型,他主要 的目的解决多个程序同时访问一个文件所造成的错 误问题,first-in-first-out。
即一些存储文 件,如硬盘、软盘等
套接字 还被称为数据接口文件,这种类型的文件通 常被用在网络上的数据连接。我们可以启动一个程 序来监听客户端的请求,而客户端就可以通过数据 接口文件来进行数据通信。
find 在指定目录下查找文件。任何位于参数之前的字符 串都将被视为欲查找的目录名。如果使用该命令时, 不设置任何参数,则find命令将在当前目录下查找 子目录与文件。并且将查找到的子目录和文件全部 进行显示。
find [查找的路径][选项] [参数]
选项:
-type:文件分类超找
-maxdepth :从当前目录开始搜索的深度(也 就是子目录的嵌套)
参数: f(表示普通文件),c, d, l, b ,s ,p 这些文件类型
find . -type f 在当前文件夹下查找普 通文件
find . -type d 在当前目录下查找目录
find . -maxdepth 3 -type f 当前目录开始深度为3层的所有普通文件
date 打印不同格式的时间或日期,以及要根据时间和日 期执行操作,也可以使用命令设置固定的格式,在 类UNIX系统中,日期被存储为一个整数,1970年1 月1日0时0分0秒起流逝的秒数。
date [选项] [参数]
选项:
-d:显示字符串所指的日期与时间 。字符串前后必须加上双引号
-s:根据字符串来设置日期与时间 。字符串前后必须加上双引号
-u:显示GMT(世界时间)
date +"%Y-%m-%d %H-%M-%S" 格式化显示时间
date -s "20180523 00:20:00" 设置时间
cal 显示日历,可以按照指定的年份月份来显示,还可 以显示当年中的第几天
cal [选项] [月份] [年份]
选项:
-s: 显示星期天为一个星期的第一天,默认的 格式
-m: 显示星期一为一个星期的第一天
-j: 显示在当年中的第几天
月份: 1-12
年份: 1-9999
cal 显示当年当月的日历
cal 12 2023 显示2023年12月的日历
cal -j 12 2023 显示12月的是当年的第几天
du 对文件和目录磁盘使用的空间的查看
du [选项] [参数]
选项:
-s 仅显示总计,只列出最后加总的值。
-h 以K,M,G为单位,提高信息的可读性。
du kk 查看kk文件的大小
参数: 目录或文件
ln命令用来为文件创件连接,连接类型分为硬连接 和符号连接两种,默认的连接类型是硬连接。如果 要创建符号连接必须使用"-s"选项。
ln [选项] [参数]
选项:
-s:创建软连接
ln -s kk /lnkk 将kk文件做一个软连接到 /lnkk
参数:
源文件:指定要连接的文件
目标文件:指定源文件要连接的文件
退出shell,并返回给定值。在shell脚本中可以终止 当前脚本执行。
exit
exit 退出shell
是一种强大的文本搜索工具,它能使用正则表达式 搜索文本,并把匹配的行打印出来。
grep [选项] [参数]
选项:
-i 忽略字符大小写的差别。
-n 在显示符合范本样式的那一列之前, 标示出该列的编号。
-v 反转查找
grep "text" -n file_name 输出包含匹配字符串
grep -v "text" file_name 输出除之外的所有行
参数:
关键字:要超找的字符串
文件路径:要去哪个文件去超找
用来计算数字。利用wc指令我们可以计算文件的 Byte数、字数或是列数,若不指定文件名称,或是 所给予的文件名为“-”,则wc指令会从标准输入 设备读取数据。
wc [选项] [文件]
选项:
-c 只显示Bytes数
-l 只显示列数
-w 只显示字数
wc xxx.txt 显示文本的行号 字符数 单词数
wc -c 显示字符数
cat [选项] [文件]
选项:
-n 有1开始对所有输出的行数编号
-b 和-n相似,只不过对于空白行不编号
cat xxx.txt 显示文本的内容直接输 出在屏幕上
cat -n xxx.txt 在每一行前加行号
more 命令一次显示一屏文本,满屏后停下来,并且在屏 幕的底部出现一个提示信息,给出至今己显示的该 文件的百分比。
more [文件]
操作
按Space键:显示文本的下一屏内容。
按Enier键:只显示文本的下一行内容。
按H键:显示帮助屏,该屏上有相关的帮助信息。
按B键:显示上一屏内容。
按Q键:退出more命令。
more xxx.txt 分进度显示文本内容
less [参数] [文件]
参数:
-e:文件内容显示完毕后,自动退出
-N:每一行行首显示行号
less xxx.txt 分屏显示文本内容
head 用于显示文件的开头的内容。在默认情况下,head 命令显示文件的头10行内容。
head [参数] [文件]
参数:
-n:指定从头显示多少行
head -5 xxx.txt 查看头5行
tail命令默认在屏幕上显示指定文件的末尾10行。
tail [参数] [文件]
参数:
-n:指定从尾显示多少行
-f:监控文件尾部插入的行
tail -5 xxx.txt 查看尾5行
echo 在shell中打印shell变量的值,或者直接输出指定的 字符串。
echo [参数]
参数: 要输出的值或字符串
echo “hello word” 在终端输出hello(处理一次)
echo hello word” 在终端输出hello(处理两次)
alias 使用该命令可以将一些较长的命令进行简化。使用 alias时,用户必须使用单引号''将原来的命令引起来, 防止特殊字符导致错误。
alias [选项] [参数]
选项:
-p:打印已经设置的命令别名。
参数:
alias 新的命令='原命令 -选项/参数'
alias -p 显示已有的别名
alias cc=‘ls -il’ 给ls -il 组合命令下·其别名
unalias 用来取消命令别名,是为shell内建命令。如果需要 取消任意一个命令别名,则使用该命令别名作为指 令的参数选项即可。
unalias [选项] [参数]
选项:
-a:取消所有命令别名
alias -p 显示已有的别名
unalias lskk 取消 lskk这个别名
参数:
命令别名:指定要取消的命令别名。
ps 用于报告当前系统的进程状态
ps [选项] [参数]
选项:
-a 显示所有用户的进程
-u 显示用户名和启动时间
-x 显示 没有控制终端的进程
-e 显示所有进程,包括没有控制终端的 进程
-l 长格式显
ps 只显示隶属于自己的进程 状态
ps -aux 显示所有进程
ps –aux | grep xxx 过滤出要查看的进程
kill 终止一个进程
kill [选项] [参数]
选项:
-1:重启进程
-9:强制杀死
Kill pid 杀死进程进程编号为pid的 进程
Kill -1 pid 重新启动pid的进程
Kill -9 pid 强制杀死pid进程
参数:
pid进程编号
top 进程状态显示和控制,每5s中自动刷新一次(动态显示)
top [选项] [参数]
top 动态的显示进程状态
提示: 退出top按q
uptime :命令可以显示的信息显示依次为:现在时间、系统已经运行了多长时间、 目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载
free : 可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区空闲
内存:available = free + buffer(缓冲) + cache(缓存)
mpstat :CPU核状态
ifstat : 网卡网络状态
df :查看磁盘的使用率
对于shell来说执行程序产生的进程分为前台进程和后台进程
执行一个程序的时候如果需要将它变为后台进程时 在执行命令后加&
Ctrl+c 将正在进行的前台进程终止
用户ID为: (0 用户ID为:0 在Linux中拥有任何权限 用户ID为: (1000+) 普通权限,但可以登录系统 adduser使用来新建用户,指定用户的家目录和组 adduser [参数] 参数: 用户名 adduser test01 添加用户test01 id命令可以显示真实有效的用户ID(UID)和组ID(GID) id [选项] [参数] 选项: -g 显示用户所属群组的ID -u 显示用户ID id -u 查看当前用户的用户id id test 查看test的用户id组id 参数: 用户名:要查看的用户名。 chown命令改变某个文件或目录的所有者和所属的 组,该命令可以向某个用户授权,使该用户变成指 定文件的所有者或者改变文件所属的组。 chown [选项] [参数] 选项: -R:递归处理,将指定目录下的所有文件及子目录一并处理。 chown -R test /kk 将/kk目录下的所有文件改 为test用户所有 参数: 所属用户:要改变的所属用户。 所属组:要改变的所属组。 表示有可读权限 表示有可写权限 表示有可执行权限 表示该位置上没有具备的权限 所属用户拥有的权限 所属组拥有的权限 既不是所属用户,又不是所属组的其他用户拥有的权限 chmod命令用来变更文件或目录的权限。在Linux 系统家族里,文件或目录权限的控制分别以读取、 写入、执行3种一般权限来区分。 chmod [选项] [参数] 选项: 权限:权限值。 chmod u+x,g+w kk 文件kk设置权限 chmod u=rwx,g=rw,o=r kk 给kk文件设置权限 chmod 764 kk 文件kk设置权限 参数: 文件名:设置权限的文件名。超级管理员root
普通用户
用户管理
新建用户 adduser
查看用户ID id
改变文件的所属 chown
权限设置
r权限(r = 4)
w权限(w = 2)
x权限(x = 1)
-占位(- = 0)
所属用户(u : rwx)
所属组(g : rwx)
其他(o : rwx)
改变文件的权限 chmod