Linux命令详解

Linux关机重启

命令解释
shutdown -h nowpoweroff立刻关机
shutdown -h 11分钟后关机,不带参数默认1分钟
shutdown -r now立刻重启
halt立刻关机
reboot立刻重启
sync把内存的数据同步到磁盘,关机和重启前应该先做这一步,目前shutdown、reboot、halt关机前会执行sync

Linux用户

  • /etc/passwd:user配置文件
  • /etc/shadow:口令配置
  • /etc/group:组配置
命令解释
su切换到root用户,环境变量不变
su root切换到root用户,环境变量改变
sudo临时获得root权限执行命令
logout注销,只在运行级别3下有效
exit退出当前用户
useradd cci添加一个用户cci,默认该用户的home目录在/home/cci,默认创建同名用户组
useradd -d /home/test ccidirectory,添加一个用户cci,指定该用户的home目录在/home/test/cci
passwd cci给用户cci设置密码
userdel cciroot权限删除用户cci,保留home目录
userdel -r cciroot权限删除用户cci,不保留home目录
id cci查询用户cci的信息
who am i查看第一次登录的用户信息

Linux用户组&文件目录所属组(给组赋权,组用户都拥有该组权限)

用户创建的文件和用户所在所在组一样

命令解释
groupadd groupname创建一个名为groupname的组
groupdel groupname删除一个名为groupname的组
useradd -g groupname cci添加指定用户组的cci用户
usermod -g groupname2 cci修改用户组
chgrp newgroup test.txt修改文件所属组

Linux运行级别

开机流程:开机->BIOS->/boot->systemd进程->运行级别->运行对应级别的服务

命令解释
init 0关机
init 1单用户
init 2多用户状态没有网络服务
init 3多用户状态有网络服务,就是仅命令行
init 4系统未使用保留给用户
init 5图形界面
init 6重启
systemctl get-default查看当前运行级别,graphical.target图形界面
chkconfig sshd list

Linux授权chmod (change mode)

ls -l查看文件详情

  • 第0位:文件类型(d:目录,-:普通文件,l软链接,c:字符设备,鼠标键盘等,b:块设备)
  • 第1-3位User(u):所有者权限
  • 第4-6位Group(g):所属组权限
  • 第7-9位Other(o):其他用户权限
    a:所有人

权限(r,w,x

权限权限值解释:文件/目录
r4read,可读取,可读取
w2write,可写入,可修改
x1execute,可执行,可进入

例如drwxr-xr-x代表这个目录所有者可读可写可执行,所属组可读可执行,其他用户可读可执行

命令解释
chmod +x a.txt授权当前用户可执行权限
chmod -x a.txt取消当前用户可执行权限
chmod u+w a.txt授权所有者写入权限
chmod a-x a.txt取消所有人可执行权限
chmod u=rwx,g=r,o=x授权所有者所有权限、所属组只读、其他用户可执行
chmod 741 a.txt授权所有者所有权限、所属组只读、其他用户可执行
chmod newowner a.txt更改所有者
chmod newowner:newgroup a.txt更改所有者和所属组
-R如果是目录,递归生效
chgrp newgroup a.txt修改所属组

Linux目录

命令解释
pwd显示当前工作目录
cd /切换到根目录
cd ~cd切换到当前用户主目录,root是/root,普通用户是/home/cci
cd ..切换到上一级目录
cd -切换到上次访问的目录
ls查看当前目录下的所有目录和文件
ls -a查看当前目录下的所有目录和文件(包括隐藏的文件)
ls -l列表查看当前目录下的所有目录和文件(列表查看,显示更多信息)
ls /bin查看指定目录下的所有目录和文件
mkdir toolsmake directory在当前目录下创建一个名为tools的目录,只能创建1级目录
mkdir -p /bin/tools在指定目录下创建一个名为tools的目录,-p自动创建父级目录
mkdir -m 777 tools在当前目录下创建一个名为tools的目录并授权777,默认为755
cp /home/test1/ /opt/test2/将/home/test1目录下的内容拷贝到/home/test2目录下
cp -r /home/test1/ /opt/test2/递归复制,将整个目录拷贝
\cp -r /home/test1/ /opt/test2/强制递归覆盖复制,将整个目录拷贝
rmdir删除当前目录下的空目录
rmdir /test删除/test下的空目录,非空删除失败
rm ttt.txt删除当期目录下的ttt.txt文件
rm -f ttt.txt删除当期目录下的ttt.txt文件,不询问
rm -r /home/test删除非空目录并询问
rm -rf /home/test删除非空目录不询问
rm -r *删除当前目录下的所有文件和目录并询问
mv oldname newname重命名
mv /home/test1/a.txt /opt/test2/移动文件
mv /home/test1/a.txt /opt/test2/b.c移动文件并重命名
mv /home/test /opt/将test目录移动到/opt/下
tree /home以树形显示目录结构

Linuxtouch

命令解释
touch a.txt文件存在则更新修改时间,文件不存在则创建新文件
touch -t 202406180620 a.txt文件存在则更新修改时间为2024/06/18/06/20,文件不存在则创建新文件
touch -c a.txt强制避免新建文件

Linux cat

命令解释
cat a.c b.c查看a.c、b.c的内容
cat -n a.c查看a.c并显示行号
cat -b a.c查看a.c并仅显示非空行号
cat -t a.c查看a.c并显示制表符
cat -s a.c查看a.c并合并显示连续空行,多空行只显示一空行
cat -e a.c查看a.c并显示行结束,$代表结束
cat /dev/null > a.c清空a.c文件
cat > c.c等待标准输入,新建或覆盖文件,直到按下Ctrl+d
cat >> d.c附加标准输入到文件d.c
cat a.c b.c > c.c将a、b文件内容合并到c,c内容被覆盖

Linux more

命令解释
more a.c查看a.c文件
空格键向下翻页
Enter向下翻一行
Ctrl+f向下滚动一屏
Ctrl+b向上滚动一屏
=退出当前行
:f输出文件名和当前行号
q退出

Linux less

适合显示大型文件

命令解释
less a.c查看文件内容
空格向下翻页
PageDown向下翻页
PageUp向上翻页
/和vim一样,向下查找,n向下、N向上
?和vim一样,向上查找,n向上、N向下
q退出

Linux echo(shell)

输出内容到标准输出

命令解释
echo 123输出123
echo -n 123不换行输出123
echo “`ip addr`”输出执行指定命令的结果
echo -e "test\n"输出转译字符,加-e就可以换行
echo -E "test\n"不输出转译字符,默认选项
echo "test" > e.c输出结果重定向到指定文件
echo "test" >> e.c输出结果追加到指定文件
echo $HOSTNAME输出主机名变量
echo "$name"输出变量,先通过read name定义变量

Linux head

输出头部内容到标准输出,默认前10行

命令解释
head /etc/profile显示前10行
head -n 3 /etc/profile显示文件前3行
head -c 20 /etc/profile显示文件前20个字节

Linux tail

输出尾部内容到标准输出,默认尾10行

命令解释
tail /etc/profile显示尾10行
tail -n 5 /etc/profile显示尾5行
tail -f /etc/profile显示文件实时更新
tail -v /etc/profile显示详细的处理信息
tail -c 10 /etc/profile显示尾10字节

Linux crond任务调度

指定系统在某个时间执行特定的命令或程序,分为系统工作和个别用户工作;所有用户定义的crontab文件都被保存在 /var/spool/cron目录中。其文件名与用户名一致

  • 文件:/etc/cron.deny 该文件中所列用户不允许使用crontab命令
  • 文件:/etc/cron.allow 该文件中所列用户允许使用crontab命令
  • 文件:/var/spool/cron/ 所有用户crontab文件存放的目录,以用户名命名
  • 文件:/etc/crontab 系统范围的cron作业
  • 文件:/etc/cron.* 系统范围的cron作业

需要安装sudo apt install cron

命令解释
select-deitor切换文本编辑器
crontab -e编辑当前用户的crontab
crontab -e -u cci打开cci用户的crontab
crontab -l获取已安排的用户cron作业
crontab -r删除当前用户的crontab任务
service cron restart重启任务调度
service cron status查看cron状态
service cron start启动cron
*/1 * * * * ls -l /etc/ > /tmp/minute.txt每分钟执行一次命令,把ls -l /etc/的内容重定向到`/tmp/minute.txt文件中

crontab文件中每一行代表一项任务,语法:

minute hour day month week command
  • *:所有可能的值
  • ,:列表范围值,如"1,3,4"
  • -:范围,如1-5代表"1,2,3,4,5"
  • /:频率,如minute字段*/10代表每10分钟执行一次
命令解释
45 22 * * * command每天22:45执行命令
0 17 * * 1 command每周一17:00执行命令
0 5 1-15 * * command每月1-15号5:00执行命令
40 4 * * 1-5 command每周1-5天4:40执行命令
*/20 5 1,15,24 * * command每月1,15,24号的5点每20分钟执行命令
0 0 1,15 * 1 command每月1,15号和每周1执行命令,day和week最好不要同时设置
45 22 * * * /scripts/test.sh每天22:45执行test.sh这个脚本

Linux at定时任务

一次性定时计划任务,at守护进程atd以以后台模式运行,每60s检查作业队列和作业时间,时间匹配则执行作业;首先要确保atd在运行ps -ef | grep atd

需要安装sudo apt install at

命令解释
at 3pm + 2days创建2天后下午3点的定时任务
Ctrl+d结束at命令输入
atq查看定时任务
at -c id查看定时任务内容
at -r id取消定时任务
at now + 2 minutes创建2分钟后的定时任务
atrm id删除id的定时任务

Linux 网络

NAT模式:

  • 虚拟机的网关是宿主机,通过dhcp获取ip
  • 宿主机的网关是连接外网的路由器
  • 和宿主机同一路由器下的另一台电脑不能ping虚拟机
  • VMnet8只是接口,虚拟NAT设备、虚拟dchp服务器连到VMnat8接口实现联网
  • NAT模式下的虚拟机
  • 通过真实主机的ip访问外网

BRIDGE模式

  • 虚拟机和宿主机的网关都是路由器,处于同一个网段,都通过路由器上网
  • 虚拟机子网掩码、ip网段、网关、DNS一致

HOST-ONLY模式

  • NAT模式去除虚拟NAT设备,使用VMnet1连接虚拟交换机与虚拟机通信

网卡配置:

  • debian:/etc/network/interfaces
  • centos:/etc/sysconfig/network-scripts/ifcfg-ens33

hosts(记录ip和hostname的映射关系):

  • linux:/etc/hosts
  • windows:C:\Windows\System32\drivers\etc\hosts

DNS(Domain Name System域名与ip映射)
浏览器先检查缓存有没有解析该域名,有则返回ip,没有则检查操作系统DNS解析器缓存

Debian命令解释
ifconfig查看ip,net-tools套件的一部分,较旧的网络配置工具,需要安装sudo apt install net-tools
ip addr查看ip,ip命令的一个子命令,更详细和全面
ip route show查看路由表条目
ifconfig eth0 up重启网卡,eth0是网卡名,有的是ens33,通过ifconfig查看
service networking restart重启网络
systemctl start nftables启动防火墙
systemctl stop nftables关闭防火墙
systemctl disable nftables禁用防火墙
systemctl restart nftables重启防火墙
systemctl status nftables查看当前状态
nft list ruleset | grep 'tcp dport 80'端口开放情况
nft list ruleset | grep 'tcp dport 8080'查看开放的端口
nft add rule inet filter input tcp dport 8080 accept开放端口,add-port标识添加的端口
nft add rule inet filter input tcp dport {8083-8085} accept开放端口范围
nft delete rule inet filter input tcp dport 8083-8085 accept关闭端口
netstat查看网络状态

Linux UFW防火墙

命令解释
ifup eth0重启网卡
systemctl restart network重启网络
systemctl start firewalld启动防火墙
systemctl stop firewalld停止防火墙
systemctl disable firewalld禁用防火墙
firewall-cmd --reload重启防火墙
firewall-cmd --state查看防火墙当前的状态
firewall-cmd --query-port=80/tcp端口开放情况
firewall-cmd --permanent --list-ports查看开放的端口
firewall-cmd --permanent --add-port=8080/tcp开放端口
firewall-cmd --permanent --add-port=8083-8085/tcp开放端口范围
firewall-cmd --permanent --remove-port=8083-8085/tcp关闭端口

Linux 帮助命令

命令解释
man ls获得帮助信息,例如获得ls命令的帮助信息
help cd获得shell内置命令的帮助信息

Linux 软链接(符号链接Symbolic Link)

存储目标文件或目录的路径,可以跨越不同的分区和文件系统创建,

命令解释
sudo ln -s /opt/blender/blender /usr/local/bin/blender创建符号链接,实际目录 软链接
ls -l /usr/local/bin/blender查看符号链接信息
sudo rm /usr/local/bin/blender删除符号链接

Linux 硬链接(Hard Link)

一个文件系统中的多个文件名指向同一个数据块(inode),只能在同一个分区内创建,不能跨越不同的文件系统,当所有硬链接和文件本身被删除,数据才会被删除

命令解释
ln source dist创建硬链接,实际文件 硬链接文件

Linux SSH远程登录

控制端安装ssh客户端,服务端安装sshd服务端,安装ssh客户端和服务端sudo apt install openssh-server、重启sshsudo systemctl restart ssh

命令解释
ssh username@ip远程登陆
logoutorexit退出远程登陆

Linux 文件传输

rcp

目标主机需要事先打开rcp功能,把源主机加入到可信任主机列表中,不加密

命令解释
rcp root@ip:home/cci/test.txt /将远程主机的我文件复制到本机

scp

secure copy,数据传输使用 ssh,和ssh 使用相同的认证方式

命令解释
scp /home/cci/test.txt username@ip:/home/把本机test.txt文件复制到远程主机指定目录下
scp -r username@ip:/home/cci/test.txt /home/cci从远程复制到本地,-r递归复制目录

ftp

安装sudo apt install ftp

命令解释
ftp ip建立连接
get test.txt下载文件
put test.txt上传文件
delete test.txt删除文件
bye退出ftp

wget

远程机器需要支持ftp服务

命令解释
wget --ftp-user=USER --ftp-password=PASS ftp://www.abc.com/abc.zip下载文件

Linux wget下载文件

广泛使用的命令行工具,支持Windows,Linux和macOS,支持HTTP、HTTPS和FTP协议

命令解释
wget -O rust.zip https://github.com/rust-lang/rust/archive/refs/tags/1.79.0.zip指定文件名下载,wget默认会以最后一个符合”/”的后面的字符来命令,本例不加-O会下载成1.79.0.zip
wget -o download.log url指定下载信息到日志文件
wget -P /home/linux/Downloads url指定路径下载
wget -b url下载的过程中会显示进度条,包含(下载完成百分比,已经下载的字节,当前下载速度,剩余下载时间)
wget -b url后台下载
wget -y url在执行操作时自动回答 “yes”,省去用户确认步骤
wget -c url断点续传下载,下载失败可以再次执行恢复进度下载
wget –limit-rate=300k限速下载
wget –user-agent="Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16"伪装代理下载
wget –spider url测试下载链接是否有效
wget –tries=40 url增加重试次数,wget默认重试20次连接下载文件
wget -i url.txturl.txt中保存了多个链接,-i批量下载文件
wget –reject=jpg url过滤拒绝指定格式下载
wget -r -A.pdf url递归下载所有pdf格式的文件
wget –ftp-user=USERNAME –ftp-password=PASSWORD url指定用户名和密码下载
wget -x url下载整个站点并创建和url服务器一模一样的目录
wget -l 2 url递归下载url所有目录和文件,但只下载2层,如果使用-r,url包含的其他网站的url也会被遍历,层层嵌套无法预期
wget -m url制作镜像站点
wget url --no-check-certificate跳过证书检查下载文件

rsync

安装apt install rsync,更强大的scp

命令解释
rsync -avz /tmp/ username@ip5:/home/本地复制到远程服务器
rsync -avzh username@ip:/home/ /home/下载远程文件到本地

Linux history历史命令

命令解释
history列出全部历史命令
history 4列出最近的四条命令
history -c将目前shell中的所有history命令消除,对命令历史文件没有影响
history -w将本次登录的命令写入命令历史文件中, 默认写入~/.bash_history
history -r将命令历史文件中的内容读入到目前shell的history记忆中

Linux date时间日期

命令解释
date显示当前的系统时间和日期
date +%Y显示年份
date +%m显示月份
date +%d显示哪天
date "+%Y-%m-%d %H:%M:%S"指定格式显示2024-06-20 16:36:56
date -r /etc/hosts 文件最后修改时间
TZ='America/New_York' date更改时区
date -d "2024-6-20 09:12:15"操作具体日期
date --set="20240620 12:30"设置或更改Linux中的时间
date --date="06/20/2024"显示给定的日期字符串作为日期格式
date --date="2 year ago"当前时间2年前的时间
date --date="4 day"当前时间四天前的时间
date --date="10 sec ago"当前时间10秒前的时间
date --date="next monday"未来周一的时间
date --date="10 day"未来10天的时间
date --date="tomorrow"未来一天的时间

Linux find

命令解释
find / -name a.c指定文件名查找
find -type f指定文件类型查找,f普通文件,d目录,l符号链接
find -user cci a.c按文件所有者查找
find -group cci a.c按文件所属组查找
find /home -size +1M查找 /home 目录下大于 1MB 的文件,+ 或 - 表示大于或小于,单位:c(字节)、w(字数)、b(块数)、k(KB)、M(MB)或 G(GB)
find / -amin n查找在 n 分钟内被访问过的文件
find /path/to/search -atime -7查找过去 7 天内被访问的文件
find / -cmin n查找在 n 分钟内状态发生变化的文件(例如权限)
find / -ctime n查找在 n*24 小时内状态发生变化的文件(例如权限)
find /var/log -mtime +7查找 /var/log 目录下7天前修改过的文件
find / -mmin n查找在 n 分钟内被修改过的文件
+n查找比n天前更早的文件或目录
-n查找在n天内更改过属性的文件或目录
n查找在n天前(当天)更改过属性的文件或目录

Linux locate

运行前必须updatedb创建locate数据库,即/var/lib/mlocate/mlocate.db,Linux系统自动创建这个数据库,并且每天自动更新一次,debian中需要安装sudo apt install mlocate

  • -b, --basename – 仅匹配路径名的基本名称
  • -c, --count – 只输出找到的数量
  • -d, --database DBPATH – 使用 DBPATH 指定的数据库,而不是默认数据库 /var/lib/mlocate/mlocate.db
  • -e, --existing – 仅打印当前现有文件的条目
  • -1 – 如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到 的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的 权限资料。
  • -0, --null – 在输出上带有NUL的单独条目
  • -S, --statistics – 不搜索条目,打印有关每个数据库的统计信息
  • -q – 安静模式,不会显示任何错误讯息。
  • -P, --nofollow, -H – 检查文件存在时不要遵循尾随的符号链接
  • -l, --limit, -n LIMIT – 将输出(或计数)限制为LIMIT个条目
  • -n – 至多显示 n个输出。
  • -m, --mmap – 被忽略,为了向后兼容
  • -r, --regexp REGEXP – 使用基本正则表达式
  • –regex – 使用扩展正则表达式
  • -q, --quiet – 安静模式,不会显示任何错误讯息
  • -s, --stdio – 被忽略,为了向后兼容
  • -o – 指定资料库存的名称。
  • -h, --help – 显示帮助
  • -i, --ignore-case – 忽略大小写
  • -V, --version – 显示版本信息
命令解释
locate a.c查找文件
locate /etc/sh查找etc 目录下所有以sh开头的文件

Linux which

查看指令在哪个目录下

命令解释
which ls查看ls指令在哪个目录下
whiich java查看java指令在哪个目录下

Linux grep和管道符|

过滤查找

命令解释
grep hello a.txt在文件a.txt中查找字符串"hello",并打印匹配的行
grep test *txt查找后缀有txt字样的文件中且包含test字符串的文件
cat a.c | grep -i test忽略大小写查找包含test字符串的文件

Linux 磁盘

命令解释
mount | column -t查看挂接的分区状态
sudo fdisk -l查看硬盘分区情况
swapon -s查看所有交换分区
df -hhuman-readable,以人类可读的格式显示磁盘空间使用情况
du -h查看硬盘占用情况
du -s /home查看自定目录占用大小
du -a包含文件显示
du --max-depth=2子目录深度
du -c增加显示汇总值total
du -h -ac --max-depth=2 /home以人类可读的方式显示/home目录两层深度且包含文件的占用情况并统计总数
dmesg | grep vda通过查看开机信息获取硬盘信息
sudo iotop查看硬盘I/O读取状态,需要安装sudo apt install iotop
inxi -D查看硬盘硬件情况,需要安装sudo apt install inxi

Linux 分区

无论如何分区,linux文件系统的结构仍然是根分区/和其下的/bin/boot/etc/dev等等,通过挂载将这些目录分配给不同的分区,只改变了数据存储的分区位置;

  • 在linux中无论你的/opt目录挂载到哪个分区,都可以通过cd /opt进入,文件系统的目录结构不变
  • 在window中,如果你在C盘要进入D盘的opt目录,就要先切换到D盘D:cd opt,很明显C盘和D盘不仅分区不同目录结构也不同
命令解释
lsblkorlsblk -f查看挂载情况
fdisk /dev/vdb开始分区,vdb是磁盘名
mount /dev/vdb /newdisk挂载vdb磁盘
umount /dev/vdb卸载
mkfs -t ext4 /dev/vdb格式化vdb磁盘

Linux 压缩与解压

命令解释
gzip hello.txt压缩成.gz,不创建新文件
gunzip hello.txt.gz解压
zip hello.zip hello.txt压缩成hello.zip,创建新文件
zip -r /home/hello.txt压缩目录
unzip -d /tmp hello.zip解压,-d指定目录
tar -c hello.txt打包成.tar
tar -x archiver.tar解压
tar -v hello.txt显示详细信息
tar -f a hello.txt指定压缩后的文件名
tar -z 4 hello.txt.tar.gz打包同时压缩,压缩率为4,压缩率(1-9),级别越高压缩时间越长
tar -czf documents.tar.gz /home/user/documents压缩成名为documents.tar.gz的压缩归档文件
tar --list -f documents.tar列出压缩文件内容
tar -cf documents.tar --exclude='*.txt' /home/user/documents打包时排除文件
tar --preserve-permissions -cf documents.tar /home/user/documents打包时保留权限和所有权信息
tar --atime-preserve -cf documents.tar /path/to/backup打包时保留时间戳
tar -zcvf documents.tar.gz /home压缩成tar.gz
tar -zxvf documents.tar.gz解压
zgzip,.tar.gz
jbzip2,.tar.bz2
Jxz,.tar.xz

Linux挂载

命令解释
mount /dev/vdb /mnt将/dev/vdb挂载到/mnt下,vdb是磁盘名
umount /dev/vdb卸载

Linux进程

命令解释
top实时显示当前系统中占用资源最多的一些进程,q退出r修改优先级k向进程发送终止信号P按CPU使用率排序M按内存使用率排序
top -d 3每隔3秒更新
top -i不显示闲置或僵尸进程
top -p PID监控指定进程
ps正在允许的进程
ps a显示现行终端机下的所有程序,包括其他用户的程序
ps -a显示当期终端所有运行中/激活进程,包括其他用户的程序
ps -aux显示所有用户的所有进程
ps -ef以完整格式显示所有进程
ps -e --forest以树形结构显示进程关系
pstree以树形结构显示进程关系
pstree -u以树形结构显示当前用户进程关系
nice 3 -p vim使vim优先级+3
kill PID根据PID终止进程
killall name根据进程名终止进程
kill -1 PID或–hangup,挂起信号,通常用于重启或重新加载进程
kill -2 PID或–interrupt,中断信号,通常由Ctrl+C发送给前台进程
kill -3 PID或–quit,退出信号,通常由Ctrl+\发送给前台进程
kill -9 PID强制杀死该进程
kill -15 PID或–terminate,默认的终止信号,要求进程优雅地退出
kill-17 PID或-stop,暂停进程的执行,可以使用kill -CONT恢复执行
kill -18 PID或–continue,恢复被停止的进程的执行
pkill -9 PID根据进程名强制杀死该进程
PID:进程号 USER:用户名 PR:优先级(-20高-19低) NI:Nice值(-20高-19低) VIRT:虚拟内存 RES:物理内存 SHR:共享内存 S:状态 %CPU:CPU占用 %MEM:内存使用率 TIME+:累积CPU时间 COMMAND:启动进程的命令或可执行文件名字

图片.png
进程状态含义

命令解释
S等待态
T停止态
R运行态
Z僵尸态
D不可被中断的等待态
X死亡态
I闲置在内核的进程
l拥有子线程的进程
<高优先级的进程
N低优先级的进程
+运行在前台的进程

Linux 守护进程(service)

服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求。debian使用service,Centos使用systemctl,本质上是执行启动脚本

命令解释
service mysqld start启动服务
service mysqld stop停止服务
service mysqld restart重启服务
service mysqld reload重载服务
service mysqld status查看服务状态

Linux apt软件包管理(Advanced Packaging Tool)

apt和apt-get是dpkg的前端,debian默认包管理器,ubuntu也是这个,debian是ubuntu的爹

命令解释
apt-get传统工具,命令行没有颜色,稳定,用于shell脚本
apt后起之秀,带进度条和颜色,信息输出更友好
sudo apt update列出所有可更新的软件清单
sudo apt-get upgrade升级软件包,不升级内核版本
sudo apt-get dist-upgrade升级内核版本
sudo apt upgrade升级软件包,升级内核版本
sudo apt update && sudo apt upgrade -y更新清单并升级软件包,-y允许所有安装操作
apt list --upgradeable列出可更新的软件包及版本信息
sudo apt full-upgrade升级软件包,升级前先删除需要更新软件包
sudo apt install rpm安装指定的软件
sudo apt update rpm更新指定的软件
sudo apt show rpm显示软件包具体信息
sudo apt remove rpm删除软件包留下配置文件
sudo apt purge rpm移除软件包及配置文件
sudo apt autoremove清理不再使用的依赖和库文件
sudo apt search rpm查找软件包
apt list --installed列出所有已安装的包
apt list --all-versions列出所有已安装的包的版本信息

Linux rpm软件包管理(RedHat Package Manager)

RedHat Linux默认包管理器,其他linux下了也能用

选项说明
-i, --install安装一个包
-v显示详细的信息
-h打印,显示安装进度
-U, --update升级一个包
-e, --erase卸载一个包
-q, --query查询一个包
-qi, --queryInfo查询包信息
-v, --verbose显示详细信息
-V, --verify校验一个包
-R列出依赖项
-F, --Flush安装、升级或删除软件包时跳过依赖项检查
-test,模拟指令但不执行
-nodeps,模拟指令但不执行

首先有rpm包才能安装

命令解释
rpm -ivh vim.rpm安装包
rpm -Uvh vim.rpm升级包
rpm -e vim删除包
rpm -qa显示所有已安装的rpm包
rpm -qip vim查询软件包的信息
rpm -qpR vim.rpm查询包需要的依赖项
rpm -ql vim显示已安装软件的所有文件

Linux yum包管理器(Yellow dog Updater, Modified)

Centos默认包管理器,yum是rpm的前端程序,rpm软件包形式的管理虽然方便,但是需要手工解决软件包的依赖关系,yum增加了自动解决依赖关系的方案

命令解释
yum check-update列出所有可更新的软件清单
yum update更新所有软件
yum install vim安装指定的软件
yum update vim更新指定的软件
yum list列出所有可安裝的软件清单
yum remove vim删除软件包
yum search vim查找软件包
yum clean packages清除缓存目录下的软件包
yum clean headers清除缓存目录下的 headers
yum clean oldheaders清除缓存目录下旧的 headers
yum clean all

Linux 系统信息

命令解释
uname -a显示系统信息

Linux 内存

命令解释
free -g以G为单位输出内存的使用量,-g为GB,-m为MB,-k为KB,-b为字节
free -t查看所有内存的汇总
free -m查看当前内存使用信息
cat /proc/meminfo通过/proc文件查看内存信息
dmesg | grep mem通过查看开机信息获取内存信息
vmstat查看虚拟内存统计信息
grep MemTotal /proc/meminfo查看内存总量
grep MemFree /proc/meminfo查看空闲内存量
dmidecode | grep -i mem通过dmidecode获取内存信息

Linux 显卡

命令解释
lspci |grep -i 'VGA'查看默认集成显卡型号
lspci |grep -i nvidia查看NVIDIA类型的显卡型号
sudo dmesg | grep -i 'VGA'通过查看开机信息获取显卡信息
glxinfo | grep OpenGL查看OpenGL信息

Linux 声卡

命令解释
lspci | grep Audio列出当前声卡信息

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/31683.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入理解RunLoop

RunLoop 是 iOS 和 OSX 开发中非常基础的一个概念&#xff0c;这篇文章将从 CFRunLoop 的源码入手&#xff0c;介绍 RunLoop 的概念以及底层实现原理。之后会介绍一下在 iOS 中&#xff0c;苹果是如何利用 RunLoop 实现自动释放池、延迟回调、触摸事件、屏幕刷新等功能的。 一…

Vector 例题

例题一&#xff1a; 下面这个代码输出的是( ) &#xfeff;#include <iostream> #include <vector> using namespace std; int main(void) { vector<int>array; array.push_back(100); array.push_back(300); array.push_back(300); array.push_back(300); a…

html做一个雷达图的软件

要实现一个在线输入数据并生成雷达图的功能&#xff0c;可以使用HTML表单和JavaScript来处理用户输入的数据。以下是一个示例代码&#xff0c;演示了如何实现这个功能&#xff1a; <!DOCTYPE html> <html lang"zh"> <head><meta charset"…

U盘文件夹损坏0字节:现象解析、恢复方法与预防措施

在日常工作和生活中&#xff0c;U盘因其便携性和大容量成为我们存储和传输数据的重要工具。然而&#xff0c;当U盘中的文件夹突然损坏并显示为0字节时&#xff0c;我们可能会感到困惑和焦虑。本文将对U盘文件夹损坏0字节的现象进行详细描述&#xff0c;分析其可能的原因&#x…

PyTorch+CNN进行猫狗识别项目

任务介绍 数据结构为&#xff1a; big_data ├── train │ └── cat │ └── XXX.jpg&#xff08;每个文件夹含若干张图像&#xff09; │ └── dog │ └── XXX.jpg&#xff08;每个文件夹含若干张图像&#xff09; ├─…

【面试题分享】重现 string.h 库常用的函数

文章目录 【面试题分享】重现 string.h 库常用的函数一、字符串复制1. strcpy&#xff08;复制字符串直到遇到 null 终止符&#xff09;2. strncpy&#xff08;复制固定长度的字符串&#xff09; 二、字符串连接1. strcat&#xff08;将一个字符串连接到另一个字符串的末尾&…

Java中setLineWrap(true)和setWrapStyleWord(true)优化TextArea

在 Java Swing 开发中&#xff0c;JTextArea 是一个多行的文本区域组件&#xff0c;常用于显示和编辑大量文本。当处理长文本时&#xff0c;默认行为是不换行并且出现水平滚动条&#xff0c;这通常会降低用户体验。幸运的是&#xff0c;JTextArea 提供了两个非常有用的方法&…

为何你的App安装转化率不高?试试Xinstall的页面唤起功能吧!

在当今互联网快速发展的时代&#xff0c;App已经成为我们生活中不可或缺的一部分。然而&#xff0c;随着市场竞争的加剧&#xff0c;App推广和运营面临着诸多挑战。其中&#xff0c;安装页面唤起不顺畅、用户体验不佳等问题&#xff0c;成为了许多开发者和运营者头疼的难题。为…

C++【继承】

继承的概念 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段&#xff0c;它允许程序员在保 持原有类特性的基础上进行扩展&#xff0c;增加功能&#xff0c;这样产生新的类&#xff0c;称派生类。继承呈现了面向对象 程序设计的层次结构&#xff0c;体现…

网上预约就医取号系统

摘 要 近年来&#xff0c;随着信息技术的发展和普及&#xff0c;我国医疗信息产业快速发展&#xff0c;各大医院陆续推出自己的信息系统来实现医疗服务的现代化转型。不可否认&#xff0c;对一些大型三级医院来说&#xff0c;其信息服务质量还是广泛被大众所认可的。这就更需要…

u盘在电脑上读不出来?这些方法或许能帮到你!

U盘作为一种便捷的存储设备&#xff0c;广泛应用于数据传输和备份。然而&#xff0c;在使用过程中&#xff0c;用户可能会遇到U盘在电脑上读不出来的问题。这种情况可能由多种原因引起&#xff0c;包括硬件故障、驱动问题、文件系统损坏等。本文将详细介绍解决u盘在电脑上读不出…

小红书点赞评论收藏【更新版本】

小红书作为社交媒体的一个亮点&#xff0c;其点赞、评论和收藏的功能形成了一种特有的交流机制。点赞简直就是一枚迷你奖章&#xff0c;为创作者带去信心与动力。一次点赞&#xff0c;表达的是你心中无言的喜好和认可&#xff1b;它如明亮的灯塔&#xff0c;在汪洋大海中为创作…

人工智能对决:ChatGLM与ChatGPT,探索发展历程

图: a robot is writing code on a horse, By 禅与计算机程序设计艺术 目录 ChatGLM:

项目实践---Windows11中安装Zookeeper3.5.5/Hadoop2.7.2/Hive2.3.7

1.背景 项目第一版本使用大数据组件核心版本均为2.x&#xff0c;需要在个人电脑搭建相关大数据环境&#xff0c;这次提供Hadoop2.7.2 Hive2.3.7版本的环境搭建。 2.相关安装包下载 链接&#xff1a;https://pan.baidu.com/s/1tkYr1UpqMKKVJHY5cfvVSw?pwddcxd 提取码&…

摊牌了,我不装了~各种Amazon Bedrock小样儿、试用装,今天免费!

探索世界顶级的大模型、智能体、文生图、对话机器人……新手&#xff1f;还是专家&#xff1f;加入我们&#xff0c;解锁精彩内容&#xff1a; l 初体验&#xff1a;在 Amazon Bedrock Playground 直接调用强大的大模型&#xff0c;点亮生成式AI技能树。 l 文生图&#xff1a…

Pyqt QCustomPlot 简介、安装与实用代码示例(二)

目录 前言实用代码示例彩色图演示散点像素图演示实时数据演示多轴演示对数轴演示 结语 所有文章除特别声明外&#xff0c;均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 nixgnauhcuy’s blog&#xff01; 如需转载&#xff0c;请标明出处&#xff01; 完整代码我已经上传到…

【C++进阶学习】第三弹——菱形继承和虚拟继承——菱形继承的二义性和数据冗余问题

继承&#xff08;上&#xff09;&#xff1a;【C进阶学习】第一弹——继承&#xff08;上&#xff09;——探索代码复用的乐趣-CSDN博客 继承&#xff08;下&#xff09;&#xff1a;【C进阶学习】第二弹——继承&#xff08;下&#xff09;——挖掘继承深处的奥秘-CSDN博客 …

教育培训系统(FastAdmin+ThinkPHP+Unipp)

引领学习新风尚 &#x1f4da; 引言&#xff1a;教育新篇章 随着科技的不断发展&#xff0c;教育形式也在不断创新与变革。教育培训系统作为这一变革的重要载体&#xff0c;正逐渐改变着我们的学习方式。今天&#xff0c;就让我们一起探索教育培训系统的魅力&#xff0c;看看它…

雷池社区版自动SSL

正常安装雷池&#xff0c;并配置站点&#xff0c;暂时不配置ssl 不使用雷池自带的证书申请。 安装&#xff08;acme.sh&#xff09;&#xff0c;使用域名验证方式生成证书 先安装git yum install git 或者 apt-get install git 安装完成后使用 git clone https://gitee.com/n…

【代码仓库提交大文件,用Git LFS!】

开始前 Git LFS&#xff1a;请注意&#xff0c;你的远程仓库需要支持Git LFS。GitHub、GitLab和Bitbucket都支持Git LFS&#xff0c;但可能需要额外的配置或开启特定的支持选项。 介绍 Git LFS (Large File Storage) 是一个 Git 扩展&#xff0c;用于处理和存储大文件。通常…