Linux常用基础命令

说明

本文罗列了一些常用的Linux命令,适用于稍微有一点Linux基础的开发者使用,作为手册查询或者复习。
在这里插入图片描述

文件管理

目录相关

pwd			# 显示用户当前所处的目录
ls			# 列出当前目录文件(不包括隐含文件) 
ls -a			# 列出当前目录文件(包括隐含文件) 
ls -l			# 列出当前目录下文件的详细信息 
ls -lS			# 按大小降序排列 
ls -l | sort -n -k5			# 按大小升序
ls -lrt			# 按时间升序
ls -lnt			# 按时间降序
ls -l | sort -k9			# 按文件名升序(这是ls的默认输出方式)
ls -l | sort -rk9			# 按文件名降序
ls -lr			# 按文件名降序
cd 目录			# 进入目录
cd ..			# 回当前目录的上一级目录 
cd -			# 回上一次所在的目录 
cd ~ 或 cd			# 回当前用户的宿主目录
mkdir 目录名			# 创建一个目录 
mkdir -p 目录名			# 递归创建一个目录 
rmdir 空目录名			# 删除一个空目录 
rm 文件名 文件名			# 删除一个文件或多个文件 
rm -rf 非空目录名			# 删除一个非空目录下的一切 
mv 路经/文件 /路经/文件			# 移动相对路经下的文件到绝对路经下 
mv 文件名 新名称			# 重命名 
mv -f 文件名 新名称			# 强制移动并覆盖
find 路经 -name 字符串			# 查找路经所在范围内满足字符串匹配的文件和目录 

空间相关

du -sh /var			# 查看/var使用的总空间大小
du -sh /var/*			# 查看/var下子文件夹和文件分别使用的空间大小
du -h --max-depth=0			# 查看当前路径使用的总空间大小
du -h --max-depth=1			# 查看当前路径子文件夹使用的空间大小
du -s * | sort -nr | head			# 选出前十名
du -s * | sort -nr | tail			# 选出后十名
du -sh              # 查看当前目录总共占的容量,简单查看:ls -lh
du -sh dir1			# 估算目录 'dir1' 已经使用的磁盘空间'
du -sk * | sort -rn			# 以容量大小为依据依次显示文件和目录的大小
df -Th              # 查询磁盘占用情况
du -lh --max-depth=1           # 查看当前目录下一级子文件和子目录占用的磁盘容量
find . -type f -size +100M      # 查找当前文件夹下大于100M的文件
mount /dev/hda2 /mnt/hda2			# 挂载一个叫做hda2的盘  (注:确定目录 '/ mnt/hda2' 已经存在)
umount /dev/hda2			# 卸载一个叫做hda2的盘 (先从挂载点 '/ mnt/hda2' 退出)
df -h			# 显示已经挂载的分区列表

远程传输

scp -r datasets root@192.168.1.10:/data/			# 将datasets文件夹发送到192.168.1.10的/data目录下
wget  路径				# 从网络上下载文件

权限相关

chmod 777 file			# 使file文件拥有所有权限
    r=4,w=2,x=1
    若要rwx属性则4+2+1=7
    若要rw-属性则4+2=6
    若要r-x属性则4+1=7
    -rw------- (600) -- 只有属主有读写权限
    -rw-r--r-- (644) -- 只有属主有读写权限;而属组用户和其他用户只有读权限
    -rwx------ (700) -- 只有属主有读、写、执行权限
    -rwxr-xr-x (755) -- 属主有读、写、执行权限;而属组用户和其他用户只有读、执行权限
    -rwx--x--x (711) -- 属主有读、写、执行权限;而属组用户和其他用户只有执行权限
    -rw-rw-rw- (666) -- 所有用户都有文件读、写权限。这种做法不可取
    -rwxrwxrwx (777) -- 所有用户都有读、写、执行权限。更不可取的做法。 
chown jessie:users file1.txt			# 将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie
chmod -R lamport:users *			# 将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 lamport
chown root /home			# 把/home的属主改成root用户 
chgrp root /home			# 把/home的属组改成root组 

文件相关

touch file1			# 创建一个文件
head -n num 文件名			# 显示文件的前num行(缺省时,显示文件的前10行)
tail -n num 文件名			# 显示文件的末尾num行(缺省时,显示文件的末尾10行)
grep -2 int test.c			# 在文件test.c中查找所有含字符串“int”的行,若找到显示该行及该行前后各2行的内容
cat file1			# 从第一个字节开始正向查看文件的内容
tac file1			# 从最后一行开始反向查看一个文件的内容
more file1			# 查看一个长文件的内容
less file1			# 类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作

链接相关

ls -al 或 ls -li			# 查看软连接列表
ln -s 文件名 目标地址			# 创建软链接
ln file1 lnk1			# 创建物理链接
rm -rf 目的地址			# 删除软链接

打包/解压

tar –xvf FileName.tar			# 解包FileName.tar
tar –cvf FileName.tar /home			# 把/home目录打包 
tar –zcvf FileName.tar.gz /mnt			# gz压缩 
tar –zxvf FileName.tar.gz			# gz解压缩 
tar -zxvf beFileName.tar.gz -C /home			# 将FileName.tar.gz解压到/home目录下
tar –jxvf FileName.tar.bz2			# bz2解压缩 
tar zcvf FileName.tar.tgz /home			# tgz压缩
tar zxvf FileName.tar.tgz			# tgz解压缩
    c – 创建压缩文件
    x – 解压文件
    v – 显示进度
    f – 文件名
    t – 查看压缩文件内容
    j – 通过bzip2归档(文件后缀bz2)
    z –通过gzip归档(文件后缀gz)
    r – 在压缩文件中追加文件或目录
    W – 验证压缩文件
gunzip FileName.gz			# 解压1
gzip -d FileName.gz			# 解压2
gzip FileName			# 压缩,只能压缩文件
unzip FileName.zip			# 解压
zip FileName.zip DirName			# 将DirName本身压缩
zip -r FileName.zip DirName			# 压缩,递归处理,将指定目录下的所有文件和子目录一并压缩
rar x FileName.rar			# 解压(第三方,apt-get install rar)
rar a FileName.rar DirName			# 压缩

系统管理

用户相关

sudo 命令			# 以root权限执行命令
su			# 切换到root用户
su 用户名			# 切换用户
Useradd  用户名			# 创建一个新的用户 
Groupadd 组名			# 创建一个新的组 
Passwd 用户名			# 为用户创建密码 
Passwd -d 用户名			# 删除用户密码也能登陆 
Passwd -S 用户名			# 查询账号密码 
Usermod -l 新用户名 老用户名			# 为用户改名 
Userdel–r 用户名			# 删除用户一切 

服务相关

which find			# 输出find命令所处的位置
service [servicename] start/stop/restart			# 系统服务控制操作 
/etc/init.d/[servicename] start/stop/restart			# 系统服务控制操作 
systemctl start/stop/restart [servicename]		# 服务控制操作 
systemctl status [servicename]		# 服务状态查询
systemctl enable/disable [servicename]		# 服务开机自启 
ps -e 或 ps -A			# 查看当前有哪些进程 
ps -f			# 显示完整的格式化输出,包含更详细的信息。
ps -l			# 以长格式显示进程信息,包括进程的状态、资源占用等信息。
ps -u			# 显示指定用户的进程信息。
ps -p			# 显示指定进程ID的信息。
ps aux 或 ps -ef			# 显示所有进程的详细信息,包括命令行参数等。
kill 进程号(就是ps -A中的第一列的数字)或者 killall 进程名			# 杀死一个进程 
kill -9 进程号			# 强制杀死一个进程 
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head			# 获取内存占用最多的10个进程
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head			#  获取CPU占用最多的10个进程
top 			# 实时显示系统中各个进程的资源占用情况

系统信息

uname -a         查看内核版本 
lsb_release -a    查看ubuntu版本 
lsusb         查看usb设备 
ethtool eth0     查看网卡状态 
cat /proc/cpuinfo     查看cpu信息 
lshw         查看当前硬件信息 
fdisk -l     查看磁盘信息 
df -h         查看硬盘剩余空间 
free -m     查看当前的内存使用情况 
fdisk /dev/sdb     为一块新的SCSI硬盘进行分区 
lscpu                CPU概要信息
arch         显示机器的处理器架构
nvidia-smi -L			查看nvidia显卡数量以及型号
lspci | grep -i nvidia        查看nvidia显卡数量以及型号
cat /proc/driver/nvidia/version           查看NVIDIA驱动本
lspci -tv     	罗列 PCI 设备
lsusb -tv     		显示 USB 设备
date         	显示系统日期
cal 2007     		显示2007年的日历表
date 041217002007.00     		设置日期和时间 - 月日时分年.秒
clock -w                 将时间修改保存到 BIOS

系统

reboot        		重启LINUX系统 
reboot now        		重启
shutdown –h now     		关闭LINUX系统 
shutdown –r now     		重启LINUX系统 
init 0              	关闭系统
shutdown -h hours:minutes & 			按预定时间关闭系统
shutdown -c             			取消按预定时间关闭系统
logout                  注销
uname -a         	查看正在使用的内核版本 
sudo dpkg --get-selections |grep linux-image        			查看已经安装的所有内核版本 
sudo apt-get remove linux-image-5.15.0-52-generic        		移除内核
grep menuentry /boot/grub/grub.cfg     		查看内核的启动顺序

网络

ip addr        		查看本机ip
curl cip.cc        		查看公网ip
ufw status       	查看防火墙状态
ufw disable        		关闭防火墙
ufw allow 80/tcp				开放TCP 80端口
ufw deny 113				拒绝UDP 113端口
ufw delete allow 53/tcp			删除TCP 53端口
lsof -i :80			查看当前监听80端口的程序 
netstat -tulnp | grep 8000      		查看端口占用
ss -anlt            		查看端口占用

软件包管理

apt

apt search package      搜索包 
apt show package        获取包的相关信息,如说明、大小、版本等  
apt depends package     了解使用依赖  
apt rdepends package    查看该包被哪些包依赖  
apt-cache pkgnames      执行pkgnames子命令列出当前所有可用的软件包 
apt policy package      使用policy命令显示软件包的安装状态和版本信息。
apt install package      安装包  
apt install package=version      安装指定版本的包  
apt install package --reinstall      重新安装包  
apt -f install           修复安装, "-f = --fix-missing"  
apt remove package       删除包
apt purge package        删除包,包括删除配置文件等
apt autoremove           自动卸载所有未使用的软件包
apt source package       下载该包的源代码   
apt update          更新apt软件源信息  
apt upgrade         更新已安装的包
apt full-upgrade    在升级软件包时自动处理依赖关系   
apt clean && apt autoclean       清理无用的包
apt clean          清理已下载的软件包,实际上是清楚/var/cache/apt/archives目录中的软件包
apt autoclean      删除已经卸载的软件包备份  
apt-get check      检查是否有损坏的依赖 
apt list        列出包含条件的包(已安装,可升级等)
apt edit-sources      编辑源列表
apt-mark hold nvidia-driver-525-server        保持包不更新

yum

yum install package_name         下载并安装一个rpm包
yum localinstall package_name.rpm  		将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系
yum update package_name.rpm         更新当前系统中所有安装的rpm包
yum update package_name             更新一个rpm包
yum remove package_name             删除一个rpm包
yum list                             列出当前系统中安装的所有包
yum search package_name             在rpm仓库中搜寻软件包
yum clean packages                 清理rpm缓存删除下载的包
yum clean headers                 删除所有头文件
yum clean all                     删除所有缓存的包和头文件

deb

dpkg -i package.deb     安装包
dpkg -r package         删除包
dpkg -P package         删除包(包括配置文件)
dpkg -L package         列出与该包关联的文件
dpkg -l package         显示该包的版本
dpkg --unpack package.deb  		解开deb包的内容
dpkg -S keyword            搜索所属的包内容
dpkg -l                    列出当前已安装的包
dpkg -c package.deb        列出deb包的内容
dpkg --configure package   		配置包

rpm

rpm -ivh package.rpm     安装一个rpm包
rpm -ivh --nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告
rpm -U package.rpm         更新一个rpm包但不改变其配置文件
rpm -F package.rpm         更新一个确定已经安装的rpm包
rpm -e package_name.rpm 删除一个rpm包
rpm -qa                 显示系统中所有已经安装的rpm包
rpm -qa | grep httpd     显示所有名称中包含 "httpd" 字样的rpm包
rpm --checksig package.rpm     确认一个rpm包的完整性
rpm -qa gpg-pubkey         确认已安装的所有rpm包的完整性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值