Linux常用命令总结

一、查看硬件和资源状态


查看cpu信息
more /proc/cpuinfo

查看内存信息
more /proc/meminfo

查看磁盘分区信息
fdisk -l

显示操作系统相关信息
uname -a
-m    cpu信息
-n    主机名
-r    操作系统内核版本

显示总内存剩余内存状态
free

查看磁盘占用情况
df
-h    以容易理解的单位输出
-k    kb为单位
-m    m为单位
-a    列出所有分区
-i    列出inode信息
-T    列出磁盘文件类型

显示进程
ps

进程状态实时监控
top

系统服务管理程序
启动服务
systemctl start *.service
停止服务
systemctl stop *.service
重启服务
systemctl restart *.service
重新加载配置文件
systemctl reload *.service
开启关闭开机启动
systemctl enable/disable/is-enable *.service
查看运行状态
systemctl status *.service

 

二、用户管理相关


用户组管理
新建组
groupadd gid gourp
-g    表示gid必须唯一
切换用户组
newgrp group    当用户属于多个组时可用切换
删除组
groupdel    group    必须先保证该组里无用户

用户管理
新建用户
useradd name
-u uid
-g group
-G group    附加组
-d home    指定默认主目录,不指定则为配置文件里的默认
-s shell
-c comment    说明
修改用户属性
usermod name    参数类似新建用户
删除用户
userdel

修改自己密码
passwd
修改其他用户密码
passwd 【用户名】

切换用户
su - 【用户名】   加载相应用户环境变量
su -c     执行一个命令就结束

显示目前登录的用户信息
who -a    列出所有信息
whoami
w 显示当前用户信息


三、文件管理相关


文件目录说明
/etc    系统管理配置相关
文件:
/etc/passwd    记录了用户的基本属性
/etc/shadow    记录了用户的密码
/etc/group    记录了用户组信息
/etc/login.defs    记录了创建一个用户的默认设置
/etc/default/useradd    记录创建的用户的一些默认属性

/usr    应用程序和文件
/var    存放一些日志信息
/dev    存放一些设备文件
/proc    虚拟目录是内存的映射,存放一些系统信息
/bin    普通用户的二进制命令
/sbin    super用户的二进制命令
/boot    启动linux的核心文件
/home    用户目录
/lib    共享程序库
/root    root的目录

显示指定目录下的内容
ls
-a    查看所有,包括隐藏文件
-d    只显示目录
-l    显示详情信息
-pF    在最后用字符显示文件类型
ll 【file】    显示单个文件的详情信息

显示文件或目录的磁盘占用
du
-sh    以人性化的格式显示单位

显示当前目录绝对路径
pwd

前往目录
cd
cd ..    返回上级目录

清屏
clear

创建目录
mkdir
-p    将路径不存在的目录也创建

显示文本内容
more    每次显示一屏

cat    显示文件内容可用于连接
-b   显示行号
cat file1 file2 > file3    将文件合并到文件中

比较文件差异
diff -c    显示全部内容,标出不同的地方
diff -r    比较目录时比较所有文件

文本过滤
grep
-i    搜索忽略大小写
-n    结果显示行号

删除命令
rm
-r    删除全部目录和子目录
-f    忽略不存在的问题
-i    交互式删除,有确认

修改文件访问修改时间,不存在则创建文件
touch
-c    不存在也不创建
-a    修改访问时间为当前时间
-m    修改修改为当前时间

硬链接
多个文件指向一个inode号,使一个文件有多个有效地址,当最后一个硬链接删除时,文件块才会被删除。
软链接
类似快捷方式
ln file1 path/file2
-f   若该路径文件存在则删除原文件
-s    软链接
-b    删除前备份

显示文件类型
file

复制命令
cp
-a    保留文件属性,链接等并递归地复制子目录
-r    递归地复制子目录
-d    复制时保留链接
-p    保留修改时间和权限
-i    交互式删除

移动命令
mv
-i    交互式,已存在则覆盖
-f    默认覆盖

查找文件
find path [options] [-print -exec -ok \;]

-name '字符串'  根据文件名匹配,可以使用通配符*,?,[]

-path '字符串'  查找路径名匹配的文件,可以使用通配符

-gid n  根据groupid搜索

-uid n  根据userid搜索

-gourp  '字符串'  根据group名搜索

-user  '字符串'  根据用户名搜索

 

解压打包文件
tar
-t    列出文件中已经归档的文件列表
-x    从打包文件中还原文件
-c    新建文件
-z    打包时调用gzip解压压缩
-j    调用bzip2
-f    后面指定档案文件的存储设备,只能在最后一个
-v    显示各个文件的名称
-p    文件属性不变化
常用搭配
-zcvf    压缩为.tar.gz
-zxvf    解压.tar.gz文件

文件权限设定
修改文件属主和组
chown -R 用户名:组名 文件或目录
chown -R 用户名 文件或目录
修改文件权限
chmod 「who,+-=,rwx」文件名
chmod u=rwx,g+r,o+r example.txt
或使用数字
r:4
w:2
x:1
chmod 755 example.txt

 

四、网络相关

ssh连接
配置文件
/etc/ssh/ssh_config
/etc/ssh/sshd_config
默认sshd公钥数据库(存放使用公钥登录的公钥)
~/.ssh/authorized_keys
默认生成的公钥密钥
~/.ssh/id_rsa.pub
~/.ssh/id_rsa

生成公密钥
ssh -keygen -t rsa

快速传递公钥到服务器的公钥数据库
ssh-copy-id -i ~/.ssh/id_rsa.pub user@ip

连接,要先确定连接主机打开了sshd服务
ssh user@ip
ssh user@hostname
ssh -p 端口 user@ip
使用ssh的cp命令
scp /path/filename user@ip:/path
scp user@ip:/path /path/filename
-r 传输整个目录

显示网络接口状态
ifconfig
-a    列出所有包括可用不可用的
-s    列出每个接口简要信息
-v    如果接口发送错误返回错误信息
设置网卡的地址状态
ifconfig  eth0(网卡)  ip  netmask  掩码
ifconfig  eth0(网卡)  ip /掩码长度
禁用/启动网卡
ifconfig eth1 down/up
为网卡添加虚拟接口
ifconfig eth0:0 ip    虚拟接口ip和原ip都可以正常使用

 

显示网络连接,端口,路由表等
netstat
-a    显示所有连接
-n    以ip形式显示有效连接
-r    显示路由表
-t    显示tcp
-u    显示udp
-c 【秒数】按秒刷新
-p    显示连接对应pid和程序名
-l    显示listen的服务的网络状态
netstat -ntulp
netstat -anpt

追踪数据包
ping
traceroute    类似ping,更慢但精确

测试dns解析
nslookup

检测远程主机对应端口的信息
telnet 【ip】【端口】

从网上下载某软件
wget

yum(CentOS)安装和删除某包
yum install *
yum remove *

yum search *    搜索可以用的包
yum check-update    检查可用的更新
yum update    更新所有包
yum update *    更新指定包
yum info    查看可以安装更新的包
yum info *    查看某个包的信息
yum info installed    查看已经安装的包
yum info updates    查看可以更新的包
yum info extras    查看已经安装但不在资源库中的rpm包
yum list    用法和info类似
yum clean packages
yum clean headers
yum clean oldheaders
yum clean all

你可能感兴趣的:(Linux常用命令总结)