Update from Sync Service

This commit is contained in:
FNS Service
2026-04-21 20:22:51 +08:00
parent c0a1c4beb4
commit 93aec810b3

View File

@@ -1,182 +1,413 @@
## 下载内容 # Linux 常用命令
1. **sudo apt-get insall ……** > 日常运维中最常用的 Linux 命令汇总
2. **sudo apt-get undate**
3. **sudo apt-get upgrade**
4. **sudo apt-get -f install**
## 删除命令 ---
1. **rm 文件** ## 📦 软件包管理 (apt)
2. **rm -r 文件夹**
## 移动命令 ```bash
# 更新软件源
sudo apt-get update
1. **cp 文件 最终路径** # 升级所有可升级的软件包
2. **cp -r 文件夹 最终路径 (这样可以把一个文件夹的所有文件全部移到最终路径)** sudo apt-get upgrade
>
**apt-get:** # 安装软件包
## debian系系统的软件包管理程序(其图形化前端就是大名鼎鼎的新立得了),会自动帮你搞定依赖关系 sudo apt-get install <package>
## 最常用参数:
## update        —-与你的软件源(在/etc/apt/sources.list中列出)更新软件包列表,换源后需要执行 # 卸载软件包(保留配置)
## upgrade        —-根据update得到的源软件库与本地已经安装的对比,(如果需要升级就)全部升级 sudo apt-get remove <package>
## install        —-安装软件包(可以使用tab补全软件包的名字,比较方便)
## remove        —-卸载软件包 # 卸载软件包(删除配置)
## purge        —-卸载软件包,同时删除该软件的配置文件 sudo apt-get purge <package>
## source        —-从源里下载软件包的源码到当前目录(执行此命令的目录)并解压(除非指定download-only参数)
## 该地址由/etc/apt/sources.list中的 deb-src 行指定 # 自动修复依赖
## check        —-用来(自动)修复(已装)软件包之间的依赖关系 sudo apt-get -f install
## clean        —-清除/var/cache/apt/archives/包括其子目录partial/下的所有软件包缓存
## autoclean    —-比clean常用,我的理解是删除低版本的缓存而保留高版本的(或者包括非当前源里的软件包?) # 清理缓存
**aptitude:** sudo apt-get clean
## 此为PT同学补充,他的说法是aptitude比apt-get少个横线,tab补全比较容易(=.=)~大概神牛都比较懒吧 sudo apt-get autoclean
## 不得不提下蛋蛋童鞋以前说过的ubuntu彩蛋:) <仅限于UBUNTU 8.04> ```
## man apt        —-最后会看到 “本apt有着超级牛力” or “this APT has a super-cow power”
## man aptitude    —-会看到 “这个aptitude没有超级牛力” > **apt vs aptitude**aptitude 是 apt 的高级封装,功能更强大,但 apt 更常用。
## 看看aptitude的参数,你就会明白为什么aptitude会标称”高级软件包管理程序”了
## 最常用参数: ---
## search        —-在(你的源的)所有软件包列表中搜索该软件,search的表达式可以很复杂,具体看man
## 其余常用参数同apt-get ## 📁 文件操作
**cat:**
## 把(一个或多个)文件内容(连接)显示到标准输出 ### ls - 列出目录
## 当文本文件很小,而且你只是想看下,并不打算用gedit或者vim之类编辑器编辑的时候,可以cat一下,我是用来配合grep使用
**cd:** ```bash
## 切换当前工作目录 ls # 列出当前目录文件
## 不同于其他命令,这是一个shell内置命令,所以没有手册页可看…够基础,所以才会出现在本篇文章中(=.=)郁闷 ls -l # 详细列表
## 最常用参数: ls -a # 显示隐藏文件
## .        —-切换到当前目录(貌似没有什么意义)(.这个目录可以通过ls -a看到) ls -lh # 人性化大小
## ..        —-切换到上层目录 ls -la # 详细+隐藏
## ~        —-回到家目录(/home/你的登录名/) ls -lt # 按时间排序
**chmod****:** ls -lS # 按大小排序
## 改变文件的权限位 ```
## linux文件系统的权限位有两种表示方法,要是详细说下,非得累死老鼠不可=.=,所以只说8进制数表示:)
## 简要介绍下:ls -l可以显示出文件的权限,比如(-rwxr-xr),代表了三种用户的权限 ### cd - 切换目录
## 第一个rwx,代表文件所有者的权限,即(读,写,执行),用二进制表示为111,代表八进制中的4+2+1=7
## 第二个r-x,代表文件所有者同一用户组其他用户的权限,即(读, ,执行),用二进制表示为101,代表八进制中的5=4+0+1 ```bash
## 第三个r,代表其他用户的权限,即(读, , ),二进制表示为100,代表八进制的4=4+0+0 cd /path # 切换到指定目录
## 所以这个文件的权限位为754 cd .. # 返回上级目录
## 这也就是chmod的用法,例如chmod 751 myfile #将该文件权限设定为rwxr-xx cd ~ # 返回家目录
## 最常用参数: cd - # 返回上一次目录
## -v        —-列出当前正在执行的步骤 cd . # 当前目录(无意义)
## -R        —-递归式,即改变非空目录下的一切为指定权限 pwd # 显示当前路径
**cp****:** ```
## 拷贝文件和目录
## 最常用参数: ### cp - 复制
## -b        —-为每个已经存在的目的文件作个备份
## -d        —-遇到软链接时不拷贝软链接所指向的文件;拷贝时保留links属性(链接数) ```bash
## -p        —-保留文件的访问权限,所有者,和时间戳 cp file /dest/ # 复制文件
## -R和-r    —-递归式拷贝(cp过程遇到非空目录才有效),即拷贝目录,子目录,子目录的子目录….. cp -r folder /dest/ # 递归复制目录
## -a        —-作用同-dpR cp -a file /dest/ # 保留属性(权限、时间戳)
## -s        —-并不真的做拷贝,而只是为每个文件作软链接(符号链接) cp -p file /dest/ # 保留权限
## -u        —-同下面 mv 的-u参数 cp -u file /dest/ # 仅源更新时复制
**head, tail** cp -v file /dest/ # 显示进度
## 就像这两个名字,一个显示文件头部,一个显示尾部 ```
## 最常用参数:
## -n        —-指定输出的(头部或尾部)行数, 当没有此参数时,默认显示10行 ### mv - 移动/重命名
**ifconfig****:**
## 配置网卡 ```bash
## 最常用参数: mv file /dest/ # 移动文件
## 没有参数        —-列出当前活动网卡的状态 mv oldname newname # 重命名
## -a            —-列出所有网卡的状态 mv -u file /dest/ # 源更新时才移动
## interface    —-指定网卡名称比如eth0 mv -v file /dest/ # 显示进度
## up            —-唤醒该网卡 ```
## down        —-关闭该网卡
## arp,mtu,netmask addr,…等等很多参数 =.= ### rm - 删除
**ln****:**
## 为文件建立链接 ```bash
## linux的链接分为两种:硬链接和软链接,ln默认建立硬链接(hard link),两种的区别请自己搜索:) rm file # 删除文件
## 最常用参数: rm -f file # 强制删除
## -s        —-建立软链接(符号链接,可以理解为win下的快捷方式) rm -r folder # 递归删除目录
## -f        —-如果要建立的链接名已经存在,则删除之 rm -rf folder # 强制递归删除(危险!)
**ls****:** rm -v file # 显示删除动作
## 显示目录内容 ```
## 最常用参数:
## -a        —-显示指定目录所有文件,包括文件名以 . 开头的文件 > ⚠️ **警告**`rm -rf /` 会删除整个系统!使用前务必确认路径。
## -l        —-显示文件详细信息(包括文件类型,权限,修改时间,访问时间,大小,文件名…)
## -h        —-将文件大小以方便阅读的形式表示出来,配合 -l 参数使用,常有奇效 ### mkdir - 创建目录
**man****:**
## 阅读参考手册of~ ```bash
## 题外话:HX说这是linux最最难学的命令,因为man你学好了,就没有什么命令能难倒你了,=.=无敌了 mkdir dir # 创建目录
## man可以查的不仅仅是命令额(当然,因为man是无敌的嘛/ch) mkdir -p path/to/dir # 递归创建(父目录不存在时自动创建)
## 最常用参数: mkdir -m 755 dir # 指定权限
## man 阿拉伯数字 ```
## 阿拉伯数字1: 可执行程序(一般为用户安装的程序,如果提供了manpages的话)和shell命令
## 阿拉伯数字2: 系统调用(例如 open调用,socket调用,chmod调用 等等等等),先装manpages-dev先 ### touch - 创建文件/更新时间戳
## 阿拉伯数字3: 库函数调用(例如 man 3 printf),先装manpages-dev先
## ……. ```bash
## 当你执行man ls 时, 和 man 1 ls结果是一样的,因为ls在man手册中只有一个入口 touch file # 创建空文件
## 当你想看chmod调用的手册页时,就要特别指定 man 2 chmod了~~因为chmod不止有一个入口 touch file1 file2 file3 # 批量创建
## 在man的时候,可以通过j,k上下移动(和vi中类似),可以通过/查询,通过n,N查找下个,上个匹配(和vi类似) touch -t 202401011200 file # 指定时间
## q退出(也和vi类似….) ```
## 比较有意思的一点:
## 由于man 本身是个命令,所以,连man都是可以man的 =.= ---
**mkdir****:**
## 创建一个目录 ## 🔐 权限管理
## 最常用参数:
## -p        —-如果给出的路径中父目录不存在,则同时创建父目录 ### chmod - 变更权限
**mount****:**
## 挂载文件系统(可理解为挂载一个分区) ```bash
## 最常用参数: # 8进制方式最常用
## -t        —-指定文件系统类型,比如iso9660(挂载iso镜像为光盘,相当于虚拟光驱),ntfs,ext3,rfs等等 chmod 755 file # rwxr-xr-x
## -l        —-列出所有已经挂载的文件系统,支持卷标 chmod 644 file # rw-r--r--
## -a        —-挂载fstab中记录的所有分区 chmod 600 file # rw-------
## -n        —-挂载的时候不写入/etc/mtab chmod 700 folder # rwx------
## -o        —-相当常用的一个参数,指定挂载文件系统的”选项”,比如noatime,用来挂载BT专用分区很合适 chmod 777 file # 所有人可读写执行(危险!)
**mv****:**
## 移动或者更名文件,取决于目的目录是否为当前目录 # 符号方式
## 最常用参数: chmod u+x file # 给所有者添加执行权限
## -b        —-为每个已经存在的目的文件做个备份(防止覆盖) chmod g-w file # 给组移除写权限
## -f        —-不提示是否覆盖已经存在的目的文件 chmod o+r file # 给其他人添加读权限
## -i        —-与-f参数相反 chmod a+x file # 所有人添加执行权限
## -u        —-仅当源文件比目的文件更新或者目的文件不存在时候才移动
## -v        —-显示移动文件的进度(个人总是推荐使用此参数,明白你在做什么) # 选项
**ps,top:** chmod -R 755 folder # 递归设置
## 列出当前命令的执行状态,ps为静态,top为动态(top时q退出) chmod -v file # 显示动作
## ps:这个命令本人更常用些,推荐给你看看=.= ```
## 最常用参数(ps多用参数集合,而不是单个参数,并且配合grep使用)
## -ef        —-以标准语法列出当前所有进程状态,例如ps -ef | grep eva #列出eva的进程状态 ### chown - 变更所有者
## aux        —-以BSD语法列出………………………………..
## -ejH    —-列出进程树 ```bash
## -eLf    —-同时列出线程状态 chown user file # 变更所有者
**rm, rmdir:** chown user:group file # 变更所有者和组
## rm:删除文件或目录,rmdir:删除一个空目录(此命令个人认为没啥用,可以用rm -r替代) chown -R user:group folder/ # 递归变更
## rm最常用参数: ```
## -f        —-不提示不存在的文件,直接跳过
## -i        —-每个删除动作都提示 (=.= 删除多的话岂不是烦死) ---
## -I        —-删除多个文件(多于3个时)或者递归式删除(对于非空目录)提示一次
## -r和-R    —-递归式删除该目录下的一切东东 ## 🔍 查看文件
## -v        —-显示每个文件的删除动作(个人总是推荐使用此参数,明白你在做什么)
**sudo,su:** ### cat - 显示文件内容
## 这大概是装好系统之后第一个要用的命令吧?
## sudo我们主要用来临时提升权限,主要用以管理员(超级用户)的权限来运行命令,当需要修改当前登录用户力所不能及的文件/目录 ```bash
## 时需要用sudo,或者su -c,当然sudo和su的作用范围不仅仅如此 cat file # 显示全部内容
## 可以使用visudo来编辑/etc/sudoers文件来修改sudo更详细的动作(比如记住密码的时间戳长度),请谨慎修改! cat -n file # 显示行号
**sh:** cat -b file # 非空行显示行号
## 在终端解释执行 tac file # 反向显示(最后一行在前)
## 类似于’./’的形式,但PT给了不同点: ./’仅仅对当前目录下有执行权限的程序才有效,sh则不管这套 ```
## 想想也是哈, ./’仅仅是给出了一个文件的路径(在当前目录下)而已, 但这个文件能不能执行就不好说了
## 所以用sh总是正确的 ### head/tail - 显示头部/尾部
**shutdown:**
## 关闭系统,如果停留在TTY,请改用halt, poweroff等命令 ```bash
## 常用参数: head file # 默认显示前10行
## +m        —-指定关机延迟的分钟 head -n 20 file # 显示前20行
## -c        —-取消一个等待关机的请求(关掉运行此命令的终端也可:)) head -c 100 file # 显示前100字节
## now        —-立即关机
## hh:mm    —-手动指定时间(以24小时计) tail file # 默认显示后10行
**tar:** tail -n 20 file # 显示后20行
## 打包/解包 tail -f file # 实时追踪日志Ctrl+C 退出)
## 这个tar不多说了吧..到处都是tar.gz,tar.bz2的东东 tail -F file # 追踪重命名后的文件
## 和ps命令一样,tar一般不用单个参数,而是多个参数的组合,记住参数x是解压(extract),c是创建包(creat)即可 ```
## 最常用参数:
## -xvf    —-详细列出解包的步骤 ### more/less - 分页查看
## -cvf    —-详细列出打包的步骤
## -j        —-用来说明这是个tar.bz2包,例如tar -xjvf myfile.tar.bz2 ```bash
## -t        —-列出包中的文件列表 more file # 逐页查看(只能向下)
## —–打包时常追加的参数: less file # 交互式查看(可上下翻页)
## -r        —-追加到压缩包中 # less 中按键:
## -u        —-只把比包中更新的文件追加进去 # j/k 或 方向键 上下滚动
## -h        —-不把符号链接添加到包中,而是添加此符号链接指向的文件 # q 退出
## 附加说明:tar是个太强大的东东,常用的操作也就是打包解包,高级功能还是参阅man =.= # /keyword 搜索
**touch:** # n 跳到下一个匹配
## 改变文件时间戳,默认包括修改时间和创建时间,默认修改为当前时间,默认如果文件不存在就新建(=.=是不是很罗嗦) # g/G 跳到开头/结尾
> 来自 <[http://www.ipc.me/ubuntu-useful-commands-collection-for-newbie.html](http://www.ipc.me/ubuntu-useful-commands-collection-for-newbie.html)> ```
---
## 🌐 网络命令
### ifconfig - 网卡配置
```bash
ifconfig # 显示所有网卡状态
ifconfig -a # 显示所有网卡(包括未激活)
ifconfig eth0 # 显示指定网卡
ifconfig eth0 up # 激活网卡
ifconfig eth0 down # 关闭网卡
ifconfig eth0 192.168.1.100 # 设置IP临时
```
### ping - 测试连通性
```bash
ping 192.168.1.1 # ping IP
ping www.google.com # ping 域名
ping -c 4 192.168.1.1 # 只ping 4次
ping -i 2 192.168.1.1 # 间隔2秒
```
### curl/wget - 下载
```bash
curl http://example.com/file.tar.gz -O # 下载文件
curl -L http://example.com # 跟随重定向
curl -o output.file http://... # 指定输出名
curl -I http://example.com # 只查Header
wget http://example.com/file.tar.gz # 下载文件
wget -c http://example.com/file # 断点续传
wget -r http://example.com/ # 递归下载
```
---
## ⚙️ 进程管理
### ps - 进程快照
```bash
ps # 当前终端进程
ps aux # 所有进程BSD格式
ps -ef # 所有进程(标准格式)
ps -ef | grep nginx # 查找nginx进程
ps -u user # 某用户的进程
ps --forest # 显示进程树
```
### top/htop - 动态监控
```bash
top # 动态监控(按 q 退出)
htop # 更友好的top需安装
# top 中按键:
# P 按CPU排序
# M 按内存排序
# N 按PID排序
# k 杀进程
# r 重设优先级
```
### kill - 终止进程
```bash
kill PID # 正常终止
kill -9 PID # 强制终止
kill -15 PID # 优雅终止(默认)
kill -l # 查看信号列表
killall nginx # 按名称终止所有进程
pkill nginx # 按名称终止(支持正则)
```
---
## 📦 压缩解压
### tar - 打包/解包
```bash
# 解压
tar -xvf file.tar.gz # 解压tar.gz
tar -xvf file.tar.bz2 # 解压tar.bz2
tar -xvf file.tar.xz # 解压tar.xz
tar -xvf file.tar -C /dest/ # 解压到指定目录
tar -tzf file.tar.gz # 查看压缩包内容
# 打包
tar -cvf file.tar.gz /path/ # 打包并压缩
tar -czvf file.tar.gz /path/ # 显示进度
tar -cvzf file.tar.gz /path/ # gzip压缩
tar -cvjf file.tar.bz2 /path/ # bzip2压缩
```
### zip/unzip
```bash
zip -r archive.zip folder/ # 压缩目录
zip -P password archive.zip file # 带密码
unzip archive.zip # 解压
unzip archive.zip -d /dest/ # 解压到目录
unzip -l archive.zip # 查看内容
```
---
## 🔧 系统命令
### df/du - 磁盘使用
```bash
df -h # 显示磁盘使用情况
df -i # 显示inode使用
du -sh folder/ # 目录总大小
du -h --max-depth=1 # 子目录大小
du -sh * | sort -h # 按大小排序显示
```
### free - 内存使用
```bash
free # 显示内存(字节)
free -h # 人性化显示
free -m # 以MB显示
free -s 5 # 每5秒刷新
```
### uname - 系统信息
```bash
uname -a # 全部信息
uname -r # 内核版本
uname -m # CPU架构
cat /etc/os-release # 发行版信息
```
### 系统时间
```bash
date # 显示当前时间
date -s "2024-01-01 12:00:00" # 设置时间
hwclock --systohc # 同步到硬件时钟
timedatectl # 时间管理systemd
```
---
## 📝 文本处理
### grep - 搜索
```bash
grep "keyword" file # 搜索文件中含有关键字的行
grep -i "keyword" file # 忽略大小写
grep -r "keyword" folder/ # 递归搜索
grep -n "keyword" file # 显示行号
grep -v "keyword" file # 显示不匹配的行
grep -c "keyword" file # 计数
grep -E "word1|word2" file # 多个关键词(正则)
```
### find - 查找文件
```bash
find / -name "file.txt" # 按名字查找
find / -type d -name "folder" # 查找目录
find / -size +100M # 查找大于100M的文件
find / -mtime -7 # 查找7天内修改的文件
find / -user username # 查找某用户的文件
find / -perm 755 # 按权限查找
```
### sed - 文本替换
```bash
sed 's/old/new/g' file # 替换所有
sed -i 's/old/new/g' file # 直接修改文件
sed '1,10s/old/new/g' file # 替换1-10行
sed '/keyword/d' file # 删除匹配行
```
---
## 🔗 链接
### ln - 创建链接
```bash
ln file hardlink # 创建硬链接
ln -s file symlink # 创建软链接(快捷方式)
ln -sf file newlink # 强制创建
```
---
## 💻 其他常用
### sudo/su - 切换用户
```bash
sudo command # 以root执行
sudo -u user command # 以指定用户执行
sudo -i # 切换到root shell
su - username # 切换用户
```
### reboot/shutdown - 重启关机
```bash
shutdown -h now # 立即关机
shutdown -h +10 # 10分钟后关机
shutdown -c # 取消关机
reboot # 重启
poweroff # 关机
```
### history - 命令历史
```bash
history # 显示历史命令
history -c # 清除历史
!n # 执行第n条命令
!! # 执行上一条命令
Ctrl+R # 搜索历史
```
---
> 参考:[Ubuntu 新手命令集合](http://www.ipc.me/ubuntu-useful-commands-collection-for-newbie.html)