Linux常用命令总结


说明:命令 -xx 的形式表示-xx 表示可以接的参数,如ls命令可以不接参数查看文件列表,ls -la 接了la参数就能查看隐藏的文件列表, -xx表示可以选的参数。
根据“史上最牛的Linux视频教程—兄弟连”视频总结:
https://www.bilibili.com/video/BV1mW411i7Qf

一、文件/目录处理


查看当前目录文件列表
ls (文件属性开头:-:二进制文件,d:目录,l:软链接文件)
-la 能查看隐藏的文件(以.开头的文件夹是隐藏的文件夹)
-目录 加上目录查看指定目录的文件
-lh 带详细信息
-i 文件标识

查看系统目录结构
ls /

查看当前目录路径
pwd

去到根目录
cd /

返回上一级目录
cd …

查看文件/目录大小
du -sh 文件名

创建文件夹
mkdir xxx

复制文件/目录
cp -rp /home/test.txt /usr/kk.txt
-r 复制文件
-p 保留属性

删除文件/文件夹
rm xxx
-r 删除目录
-f 强制执行

移动文件
mv xxx /usr/local/

复制文件到某个目录并且覆盖
cp -i madeweb.war /usr/local/tomcat/webapps/

创建空文件
touch test.txt

复制文件的内容到一个新文件里
cat test.txt > test2.txt

查看文件内容(内容少)
cat test.txt
-n 显示行号

查看文件内容(内容多)
more test.txt
-空格/f翻页 Enter换行 q退出

查看文件内容(内容多,可向上翻页)
less test.txt
-空格/f翻页 Enter换行 q退出
-less可使用page up/ 向上剪头 向上翻页
-/加关键词可以搜索 使用n健调到下一个关键词

查看前几行文件内容
head -n 20 test.txt

查看文件后几行内容
tail -n 10 te.txt
tail -f txt.log (内容动态显示,如查看log文件)

文件连接
ln -s /home/issue /temp/issue.soft 创建文件软链接
ln /home/issue /temp/issue.hard 创建文件硬链接

创建目录链接
ln -s 目录路径 软链接名
-使用~/软链接名 直接访问

在当前目录运行xx.sh
./xx.sh

tar打包
tar -cvf txt.tar test (.tar文件)
tar -cvfz test.txt test1 (.tar.gz文件)
tar -cjf test.txt test1 (.tar.bz2文件)
-c打包
-x 解包
-v 显示详细信息
-f 指定文件名
-z 打包同时压缩/解压

tar解压.tar.gz文件
tar -zxvf jdk-8u202-linux-x64.tar.gz

tar解压.tar文件
tar -xf all.tar

tar解压.tar.bz2文件
tar -xjf test.tar.bz2

zip解压到当前文件夹
unzip xx.zip

压缩整个文件夹
zip -q -r fileName.zip 文件夹名
-r 压缩目录

bzi2压缩(.bz2格式,对大文件的支持好)
bzip2 -k + 文件
-k 压缩后保留原文件

bzi2解压
bunzip2 -k +压缩文件

gzip压缩文件(.gz格式,不能压缩目录,会删除原文件)
gzip +文件名

gunzip解压
gunzip +文件名

二、权限

只有文件所拥有者和root权限能修改文件权限
文件属性前面字符:-rw-r–r--
(第一个字符代表文件类型,-:二进制文件,d:目录,l:软链接文件,第二到第4个表示所有者权限u,第5到第8个表示所属组权限g,第9到第11位位表示其他人权限o)
u g o
u(user,所拥有者) g(group,所属组) o(other,其他人)
r或4:可读 w或2:可写 x或1:可执行
rwxrw-r–
7 6 4
(4+2+1) (4+20) (4)

修改文件权限
chmod + 需要修改权限的用户 + +/-符号(+表示增加权限,-表示减少权限) + r/w/x权限符号 + 文件或目录
chmod +权限数字 +文件或目录
chmod -r 递归修改

修改文件拥有者
chown +修改后文件拥有者 +文件/目录

修改文件所属组
chgrp +用户组 +文件/目录

查看默认文件权限
umask -S

Sticky BIT粘着位权限(权限表示符t):

  • 粘着位目前只对目录有效
  • 普通用户对该目录拥有w和x权限,所以可以删除此目录下的所有文件,包括其他用户建立的文件。一但赋予了粘着位,除了root可以删除所有文件,普通用户就算拥有w权限,也只能删除自己建立的文件,但是不能删除其他用户建立的文件

设置粘着位
-chmod 1755 目录名
-chmod o+t 目录名

取消粘着位
-chmod 777 目录名
-chmod o-t 目录名

chattr权限(对root用户也生效)
chattr [+/-/=] [选项] 文件或目录名

  • +:增加权限,-:删除权限, =:等于某权限
    -i:如果对文件设置了i属性,那么不允许对文件进行删除、改名,也不能添加和修改数据;如果对目录设置i属性,那么只能修改目录下文件的数据,但不允许建立和删除文件。
    -a:如果对文件设置a属性,那么只能在文件中增加数据,但是不能删除也不能修改数据;如果对目录设置a属性,那么只允许在目录中建立和修改文件,但是不允许删除

查看文件系统属性
lsattr [a/d] 文件名
-a 显示所有文件和目录
-d 若目标是目录,仅列出目录本身的属性,而不是子文件的

查看命令保存的配置地址
whereis 命令

sudo系统命令权限
-root把本来只能超级用户执行的命令赋予普通用户执行
-sudo的操作对象是系统命令

sudo的使用
visudo #实际修改的是/etc/sudoers文件
root ALL=(ALL) ALL
#用户名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)
#%wheel ALL=(ALL) ALL
#组名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)
#如 user1 ALL= /sbin/shutdown -r now

查看可用的sudo命令
sudo -l

普通用户执行sudo赋予的命令
sudo /sbin/shoutdown -r now

三、用户/用户组管理

添加用户
useradd + 用户名

更改用户密码
passwd + 用户名

删除用户
userdel 用户名
-r 删除用户的同时删除用户主目录

查看用户id
id 用户名

查看我自己是什么用户
whoami

查看登陆用户(tty表示本地终端,pts表示远程终端)
who

查看登陆用户及其详细信息
w
-LOGING 登陆时间
-IDLE 登陆的用户已经空闲多久了
-JCPU 登陆的用户累计占用的CPU时间
-PCPU 登陆的用户当前操作占用CPU的时间
-WHAT 执行了什么命令

查看最后登入系统的用户信息
last

添加用户组
groupadd [选项] 用户组名
选项:
-g GID:指定组ID

添加用户到组
usermod -G 组名 用户名

修改用户组
groupmod [选项] 组名
-g GID:修改组ID
-n 修改组名

删除用户组
groupdel 组名

切换用户身份
su - root
su 选项 用户名
-:选项只使用"-"代表连带用户的环境变量一起切换
-c 命令:仅执行一次命令,而不切换用户身份

配置用户信息文件(/etc/passwd)
root❌0:0:/root:sh
account:password:UID:GID:GECOS:directory:shell

  • 第1字段:用户名称
  • 第2字段:密码标志(是否有密码的意思)
  • 第3字段:UID(用户ID)
    – 0:超级用户
    – 1-499:系统用户(伪用户)
    – 500-65535:普通用户
  • 第4字段: GID (用户组初始组ID)
    – 用户组分为初始组和附加组,初始组:用户一登录就初始化的组;附加组:用户可以加入多个其他的用户组。
  • 第5字段:用户说明(备注)
  • 第6字段:用户主目录
    – 普通用户:/home/用户名/
    – 超级用户:/root/
  • 第7字段:登陆后的Shell
    – 所有的普通用户shell是/bin/bash,写成/sbin/nologin表示禁止登陆

用户密码存放配置文件(/etc/shadow,只有root才有权限)
root:$dxxxxxxxx:18607:0:99999:7:::

  • 第1字段:用户名
  • 第2字段:加密密码
    – 加密算法升级为SHA512散列加密算法
    – 如果密码位是"!!“或”*"代表没有密码,不能登陆(一般是伪用户)
  • 第3字段:密码最后一次修改日期
    –使用1970年1月1日作为标准时间,每过一天时间戳加1
  • 第4字段:两次密码的修改间隔时间(和第3字段相比)
  • 第5字段:密码有效期(和第3字段相比)
  • 第6字段:密码修改到期前的警告天数(和第5字段相比)
  • 第7字段:密码过期后的宽限天数(和第5字段相比)
    – 0:代表密码过期后立即失效
    – -1:则代表密码永远不会失效
  • 第8字段:账户失效时间
    – 要用时间戳表示
  • 第9字段:保留

组信息文件/etc/group
root❌0:

  • 第1字段:组名
  • 第2字段:组密码标志
  • 第3字段:GID
  • 第4字段:组中附件用户

组密码文件/etc/gshadow

  • 第1字段:组名
  • 第2字段:组密码
  • 第3字段:组管理员用户名
  • 第4字段:组中附加用户

四、网络

查看当前网络状态(root权限)
ifconfig 直接写不带参数
ifconfig etho(网卡名称) 192.168.8.250(IP地址)
内容信息
-Link encap:Ehernct 网络协议,当前以太网
-HWaddr:Mac网卡地址
-inet addr:当前ip地址
-Bcast:主机地址
-Mask:子网掩码
-inet6 addr:ipv6地址
-RX:接收的包,packets接收包总数量;errors失败的数量
-TX:发送的包
-address:网卡在系统中的内存地址

跟踪数据包到主机间的路径(可推断网络中断时哪里中断的)
traceroute www.baidu.com

监控网络端口
netstat
-t:TCP协议
-u:UDP协议
-l:监听
-r:路由
-n:显示IP地址和端口号
netstat -tlun 查看本机监听的端口
netstat -an 查看本机所有的网络连接
netstat -rn 查看本机路由表

设置网络(需要安装,界面修改)
setup

修改网卡网络配置(可修改配置修改ip地址、DNS等)
vim /etc/sysconfig/network-scripts/ifcfg-eth0
把ONBOOT="no"改为ONBOOT="yes"启动网卡

重启网络服务
service network restart

在Linux下载文件
wget 文件网址

上传需要安装lrzsz工具包(没有安装可使用yum -y install lrzsz 命令安装lrzsz工具包)
rz

下载文件到目录
sz 文件

五、软件包管理

有的linux系统只支持使用rpm包安装,有的只支持deb包安装。
rpm包主要用于redhat及分支如redhat,centos,Fedora等,使用yum之类的管理;
而deb包主要用于debian及分支如debian,ubuntu等,使用apt之类的管理
在这里插入图片描述

1、RPM包

配置网络yum源
vi /etc/yum.repos.d/CentOS-Base.repo

  • [base] 容器名称,一定要放在[]中
  • name 容器说明,可以自己随便写
  • mirrorlist 镜像站点,这个可以注释掉
  • baseurl 我们的yum源服务器的地址。默认是CentOS官方的yum源服务器,是可以使用的,如果你觉得慢可以改成你喜欢的yum源地址
  • enabled 此容器是否生效,如果不写或写成enable=1都是生效,写成enable=0就是不生效
  • gpgcheck 如果是1是指RPM的数字证书生效,如果是0则不生效
  • gpgkey 数字证书的公钥文件保存位置。不用修改

查询所有可用的软件包列表
yum list

搜索服务器上所有和关键词相关的包
yum search 关键词

安装软件包
yum -y install 包名
-y 自动回答yes

更新所有软件包(慎用,内核可能也升级)
yum -y update

更新软件包
yum -y update 包名

删除软件包
yum -y remove 包名

列出所有可用的软件组列表
yum grouplist

安装指定的软件组
yum groupinstall 软件组名

卸载指定的软件组
yum groupremove

RPM安装
rpm -ivh 包文件名
-i 安装
-v 显示详细信息
-h 显示进度
–nodeps 不检测依赖性

RPM升级
rpm -Uvh 包文件名

RPM卸载
rpm -e 包名
–nodeps 不检测依赖性

查包是否安装
rpm -q 包名
-q 查询
-a 查询全部
rpm -qa | grep 包名 #匹配包含包名的包

查询包详细信息
rpm -qi 包名
-i 查询包详细信息

rpm -qip 文件名
-p 查询未安装包信息

查询包安装位置
rpm -ql 包名
-l 列表
-p 查询未安装包信息

查询系统文件属于那个RPM包
rpm -qf 包名
-f 查询系统文件属于哪个软件包

查询软件包的依赖性
rpm -qR 包名

查询未安装软件包的依赖性
rpm -qRp 包文件名

rpm包文件提取
rpm2cpio 包文件名 | \ cpio -idv .文件绝对路径
# :换行符 , .:表示当前路径
例:
rpm2cpio /mnt/cdrom/packages/test.rpm | cpio -idv ./bin/ls

2、deb包

  • apt 命令一般用root权限,前面跟sudo命令,如果不是root权限,下面apt命令前面要加上sudo命令

编辑源列表,可修改软件包源,一般配置在/etc/apt/sources.list位置,也可手动进入配置文件设置
apt edit-sources

获取软件最新信息,缓存到本地
apt update

升级系统中有新版本的软件包
apt upgrade
-加上包名 表示升级指定的包

升级系统中有新版本的软件包,并自动处理依赖关系
apt full-upgrade

列出本地仓库所有软件包
apt list

查找指定的包
apt list 包名,支持通配符

  • 如apt list zlib* 列出zlib开头的所有包名

列出已经安装的包(已安装和可升级的软件包)
apt list --installed

确定特定的软件包是否已经安装了
apt list --installed | grep 包名

一般使用which命令查看执行程序位置:
which 命令名

而whereis查看多版本执行程序和man帮助文档的位置:
whereis 命令名

查看软件包详细安装路径
dpkg -L 软件包名

可以通过搜索命令查询安装路径
sudo find /usr -name “vim”

列出可以升级的包
apt list --upgradeable

列出系统中所有能找到的包及版本
apt list --all -versions

与list类似,通过给出的关键字进行搜索,列出所有的包和其描述
apt search 包名,支持通配符

列出指定包的详细情况,包名要填写完整
apt show 包名

查看包的安装路径
dpkg -L 包名
或者:
whereis 包名

查看包版本信息及体系结构
dpkg -L 包名

安装指定的包,并同时安装器
apt install 包名,使用空格隔开可同时安装多个包

卸载包,但不删除相关配置文件。包名支持通配符
apt remove 包名,支持通配符

卸载因安装软件自动安装的依赖,而现在又不需要的依赖包
apt autoremove

卸载包,同时删除相关配置文件。包名支持通配符
apt purge 包名,支持通配符

删除所有已下载的软件包
apt clean

类似clean,但删除的是过期的包(即已不能下载或者是无用的包)
apt autoclean

下载包的源代码
apt-get source 包名

检查是否有损坏的依赖
apt-get check

安装相关的编译环境
apt-get build-dep package

查看包的依赖
apt-cache depends package

查看该包被哪些包依赖
apt-cache rdepends package

六、系统相关

帮助命令
man + 命令或配置文件名称
-(空格/f翻页 Enter换行 q退出)
-/加关键词可以搜索 使用n健调到下一个关键词
man service
help +命令

查看配置文件说明
man 5 文件配置名

查看linux运行时间
uptime

关机
shutdown
-c:取消前一个关机命令
-h:关机
-r:重启

查看环境变量
env

七、磁盘管理

挂载光盘
mount -t iso9660 /dev/sr0 + 目录
卸载挂载
umount /dev/sr0

df文件系统查看命令
df [选项] [挂载点]
-a 显示所有的文件系统信息,包括特殊文件系统,如/proc、/sysfs
-h 使用习惯单位显示容量,如KB,MB或GB等
-T 显示文件系统类型
-m 以MB为单位显示容量
-k 以KB为单位显示容量。默认就是以KB为单位

du统计目录或者文件大小
du [选项] [目录或文件名]
-a 显示每个子文件的磁盘占用量。默认只统计子目录的磁盘占用量
-h 使用习惯单位显示磁盘占用量,如KB,MB或GB等
-s 统计总占用量,而不列出子目录和子文件的占用量

显示磁盘状态命令
dumpe2fs 分区设备文件名 #只用在ext文件系统

查询挂载
mount [-l] #查询系统已经挂载的设备,-l会显示标识名称

自动挂载
mount -a #依据配置文件/etc/fstab的内容,自动挂载

挂载
mount [-t 文件系统] [-L 卷标名] [-o 特殊选项] 设备文件名 挂载点
-t 文件系统:加入文件系统类型来指定挂载的类型,可以ext3、ext4、iso9660等文件系统
-L 卷标名:挂载指定卷标的分区,而不是安装设备文件名挂载
-o 特殊选项:可以指定挂载的额外选项

挂载光盘
mkdir /mnt/cdrom/ #建立挂载点
mount -t iso9660 /dev/cdrom /mnt/cdrom/ #挂载光盘
mount /dev/sr0 /mnt/cdrom/

卸载命令
umount 设备文件名或挂载点
umount /mnt/cdrom

挂载u盘
fdisk -l #查看u盘设备文件名
mount -t vfat /dev/sdb1 /mnt/usb/ #Linux默认不支持NTFS文件系统的

查看硬盘情况
fdisk -l

使用fdisk命令分区
fdisk /dev/sdb

重新读取分区表信息
partprobe

格式化分区
mkfs -t ext4 /dev/sdb1

建立挂载点并挂载
mkdir /disk1
mount /dev/sdb1 /disk1/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值