查看类
ls
查看文件详情
ls 【选项】【目标】
-a # 查看所有文件包括隐藏文件
-l # 以长列表的方式显示
-h # 以人类友好的方式显示
-u # 以最后访问时间显示
-d # 显示目录本身属性
cd
切换工作目录
cd 【目标】
pwd
打印当前目录
pwd 【选项】【目标】-p 显示链接的真实路径
du
统计文件和目录的空间占用情况
du 【选项】【目标】
-a # 统计所有文件
-h # 以人类友好的方式显示
-s # 只显示空间所占用的大小
cat
查看文件内容
cat 【选项】【文件】
-b 显示行号,空白行不显示
-n 显示行号,包括空白行
which
查找命令所在位置
find
查找文件或目录
find 【路径】【选项】
-name 按名字查找
-size 按大小查找
-user 按所属者查找
-type 按类型查找
-prem 按权限进行查找
-ctime 按文件的创建时间
-atime 按访问时间查找
-mtime 按修改时间查找
-! 取反操作
-exec 查找后在执行操作
wc
统计文件的数据
wc 【选项】【目标文件】
-l 统计行数
-w 统计单词数
-c 统计字节数
more
分页显示文件内容
less
查看文件内容
head
查看文件前几行
head 【选项】【文件名】
-c nk 显示文件前 nkb 的内容
-n 显示文件前 n 行的内容
tail
查看文件尾部内容
tail 【选项】【文件】
-n 显示文件的后 n 行
-f 动态显示文件的后几行
-c nk 显示文件末尾的 nkb 内容
grep
查找并显示包含指定字符串的行
gerp 【选项】【查找条件】【目标】
-i 查找是忽略大小写
-v 反转查找,输出与查找条件不相符的行
-l 列出文件内容
-A n 显示匹配的那一行以及下 n 行
-B n 显示匹配的那一行以及上 n 行
-C n 显示匹配的那一行以及上下 n 行
查找条件设置
要查找的字符串以双引号括起来
“^....” 表示以 .... 开头
“....$” 表示以 .... 结尾
uptime
打印当前时间,系统已经运行了多久,当前用户登录数以及系统平均负载
free
显示系统内存以及交换分区信息
-b 指输出容量的单位为 byte
-k 指输出容量的单位为 kb
-m 指输出容量的单位为 mb
netstat
打印网络连接、路由表、网络接口统计等信息
-s 显示各种协议数据统计信息
-n 使用数字形式的 IP 、端口号、用户 ID 替代主机、协议、用户等名称信息
-p 显示进程名称及对应进程 ID
-i 仅显示正在监听的 shocket 接口信息
-u 查看 udp 连接信息
-t 查看 tcp 连接信息
ps
查看当前进程信息
-e 显示所有进程,-A 有同样效果
-a 显示现行终端机下的所有进程,包括其它用户的进程
-u 以用户为主的进程状态
-x 列出比较完整的信息,通常与 -a 一起使用
top
动态查看进程信息
-d top 刷新时间,默认为 3 秒
-p 查看指定的 PID 的进程信息
编辑类
touch
创建文件或更改文件时间标间
touch【目标】
-c 只改变时间不创建文件
-r 更新前者的时间,使其与后者一样
mkdir
创建目录
mkdir 【选项】【目标】
-p # 创建多级目录
groupadd
创建用户
groupadd 【选项】【目标】
-g 设置组 ID
useradd
创建组
useradd 【选项】【目标】
-c 设置用户的描述信息
-d 设置用户的家目录,默认为 /home
-e 设置用户的失效日期
-g 设置用户的基本组
-G 设置用户的附加组,多个附加组中间用逗号隔开
-u 指定用户 UID
gpasswd
修改组密码
gpasswd 【选项】【组名】
-a 添加用户到组
-d 将指定用户移出本组
-M 设置组成员列表
-A 指定组管理员为那个用户
-r 删除组密码
newgrp
登录一个新的组
newgrp 【组名】
退出登录的组 exit
usermod
修改用户信息
usermod【选项】【用户名】
-d 修改用户家目录
-e 修改用户失效日期
-g 修改用户所属基本组
-G 修改用户附加组
-s 修改用户登录 shell
-u 修改用户 UID
groupmod
修改组信息
groupmod 【选项】【目标】
-n 指定新组名
-g 修改 gid 信息
ln
创建硬链接
ln 【选项】【原文件】【链接文件】-s # 创建软链接
cp
复制文件或目录
cp 【选项】【原文件】【目标文件】
-r # 递归复制整个目录树
-p # 保持文件的属性不变
-f # 强制覆盖
-i # 覆盖时进行提醒
mv
移动目录或文件,也可以用来修改文件名
mv 【选项】【原文件】【目标文件】
-i # 覆盖时进行提醒
-f # 强制覆盖
-t # 移动多个文件这时目标文件在前,原文件在后
tar
压缩和解压
tar 【选项】【文件】
-c 创建 .tar 格式的包文件
-x 解开 .tar 格式的包文件
-v 输出详细信息
-f 表示使用归档文件
-p 打包时保留原始文件及目录的权限
-t 列表查看包内的文件
-C 解包时指定释放的目标文件夹
-z 调用 gzip 程序进行压缩和解压
-j 调用 bzip2 程序进行压缩和解压
使用时必须加上 -f 选项
chmod
改变文件或目录的权限
chmod 【选项】【权限】【文件或目录】
--reference=RFILE 根据参考文件设置权限
-R 递归将权限应用于所有的子目录与子文件
chown
修改文件或目录所有者与所属组-R 递归将权限应用于所有的子目录与文件
rpm
安装软件包
rpm 【选项】【软件包名】
-h 软件包安装的时候列出哈希标记(和 -v 一起使用的时候效果更好)
-i 安装软件包
-v 显示详细信息
-e 卸载软件包
-U 升级软件
-q 查询指定软件是否安装
-qa 查询系统中已安装的所有软件
-qi 查询指定软件包的详细信息
-qc 查询指定软件的配置文件
yum
交互式,基于 RPM 的包管理工具
yum 【选项】【指令】【软件包】
-y 安装过程中将所有的提示回答为 yes
指令
install 使用 yum 源安装
update 使用 yum 源升级软件包
makecache 建立 yum 缓存信息
check-update 检查 yum 源中所有可用的升级
remove 卸载软件包
list 有可用的软件包
info 查看软件包信息
clean all 清空所有的缓存信息
groupinstall 使用 yum 源安装组包
groupremove 卸载组包
search 根据关键字查找软件
mount
用于挂载文件系统
mount 【选项】【文件系统】【挂载目录】
-a 挂载所有在 /etc/fatab 中定义的文件系统
-t 指定文件的类型
umount 取消挂载
fdisk
用于管理磁盘分区
-l 可以列出所有的分区,包括没有挂载上的分区和 USB 设备
参数
m 查看全部可用的参数
n 添加新的分区
d 删除某个分区的信息
l 列出所有可用的分区类型
t 改变某个分区的类型
p 查看某个分区的类型
w 保存并退出
q 不保存直接退出 fdisk 命令
a 调整磁盘的启动分区
u 切换所显示分区的大小单位
blkid 查看磁盘的 UUID
df
显示磁盘使用情况
-h 人性化显示
-T 显示文件系统的形式
nmcli
管理各种网络
nmcli dev status 显示所有网络接口的 networkmanager 状态
nmcli con show 列出所有连接
nmcli con show name 列出 name 连接的当前设置
nmcli con add con-name name 添加一个名为 name 的新连接
nmcli con mod name 修改 name 连接
nmcli con reload 重新加载配置文件
nmcli con up name 激活 name 连接
nmcli dev dis name 在网络接口 name 上停用并断开当前连接
nmcli con del name 删除 name 连接以及其配置文件
其它
uname -a # 查看系统详细信息
dhclient # 获取 ip 地址
ip a # 查看 ip 地址
vim /etc/hostname # 可以永久的修改主机名
hostname name # 可以暂时修改主机名为 name
特殊权限:
u+s 让进程不在属于它的发起者,而是属于程序文件的本身,对目录无效
g+s 文件:执行时有效用户将变成该程序的用户组所有。目录:创建文件时用户组为目录的用户组
o+t 只能删除自己的文件
ACL 访问控制列表:
getfacl 查看文档的 ACL 权限
setfacl 设置访问控制列表
-b 删除所有附加的 acl 条目
-k 删除默认的 acl
-m 添加 acl 条目
-x 删除指定的 acl 条目
-R 递归处理所有的子文件与目录