linux 基础命令

查看类

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 【选项】【文件名】

-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      递归处理所有的子文件与目录

linux 基础命令

上一篇:linux mac 命令行 远程连接ssh提示IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY解决


下一篇:如何在Ubuntu系统中重置root密码