【工具】Linux常用命令

Linux shell

通配符

类似于正则表达式规则,略有不同

符号 匹配项目
* 任意多个字符(包含0个)
? 单个任意字符
[characters] 任意一个属于字符集characters的字符
[!characters] 任意一个不属于字符集characters的字符
[[:class:]] 任意一个属于指定字符类的字符
字符类
符号 匹配项目
:-------: :--------------:
[:digit:] 任一个数字
[:alnum:] 任一个数字或字母
[:lower:] 任一个小写字母
[:upper:] 任一个大写字母

举例:把1.0 2.0 3.0 ~ 50.0等文件移动到目标文件夹dst

bash 复制代码
mv [[:digit:]] <dst>
mv [[:digit:]][[:digit:]].0 <dst>

命令备忘

  1. man 显示手册页
  2. whatis 显示命令的简要概述
  3. --help shell内置命令的文档
  4. info
  5. type 显示命令的类型
  6. which 显示可执行命令的路径
  7. less 分页显示
  8. wc word count,统计字数
  9. find 举个例子,
bash 复制代码
#在当前目录搜索大写字母开头的文件,不要文件夹
find ./ -maxdepth 1 -type f -name '[A-Z]*' -print | xargs grep <正则表达式>
  1. 链接
    软链接类似于windows的快捷方式,常用于解决软件依赖库版本的变化,如libGL.so,是一个软链接,链接到真实文件libGL.so.5,当.5升级.6,只需把软链接重定向到新版本,软件仍可找到具体依赖库而正常运行。
    硬链接,文件由两部分组成,包含内容的数据部分和包含文件名的名称部分,创建硬链接时实际上是创建了额外的名称,这些名称都指向同一数据部分,系统分配了一些盘块给所谓的索引节点,该节点与文件名称关联。ls -i可以显示节点信息,以确认硬链接。

    ln <文件> <硬链接>

    软链接文件夹可以不存在

    ln -s <文件> <软链接>

(1). 硬链接即文件本身

(2). 硬链接无法引用目录

(3). 硬链接不能引用自身文件系统之外的文件

如何快速清点不同文件夹下的文件数,如检查处理的文件都已就位?

for i in frankfurt munster lindau;do for j in $(ls $i/images/aicodec/); do ls $i/images/aicodec/$j | wc ;done; done;

扩展

  1. 路径名扩展
  2. 波浪线扩展
  3. 算术扩展
bash 复制代码
echo $((2+8))
echo $((2**3))
  1. 花括号扩展
  2. 双引号扩展,其中参数扩展、命令扩展、算术扩展有效
  3. 单引号,抑制所有的扩展

快捷命令

ctrl + A 移动光标到首

ctrl + E 到末

ctrl + F 向前,forward

ctrl + B 向后, backward

ctrl + L clear

ctrl + K 剪切从光标到末尾的

ctrl + U 剪切从光标到行首的

Alt + D 剪切光标到当前词尾

Alt +backspace 剪切光标到当前词头

ctrl + Y 粘贴

查看系统信息

bash 复制代码
#看发行版本
lsb_release -a
#看内核版本
uname -a
cat /etc/lsb-release

切换路径

复制代码
#添加路径,不改变路径
pushd -n <path>
#同时改变路径
pushd <path>
#查看路径
dirs -lv
#切换
pushd -<id>

文件操作

bash 复制代码
# 看文件夹下的文件个数
ls | wc -l
# 按修改时间查看文件
ll -t
# 查看当前路径下各个文件的大小
du -h --max-depth=1 *
# 文件夹大小排序,numeric reverse
du -d 1 | sort -nr
# 当前路径下文件(夹)大小超过1G的,由大到小排序
du -h -d 0 * | grep G | sort -nr
# 查看文件大小,以MB\KB等单位显示
ls -lh
# 解压
unzip <zipped_file.zip> -d <unzipped_directory>
tar -zxvf zipped_file.tar.gz -C <unzipped_directory>
# 查看
unzip -l zipped_file.zip

wget

有代理的下载:

wget -e use_proxy=yes -e http_proxy=http://user:[email protected] <其他参数>

软件管理工具

有网络代理下的apt install

python 复制代码
sudo -E apt install <lib&app>
sudo -E pip install <lib&app>
sudo -E -H pip install <> --trusted-host pypi.douban.com -i http://pypi.douban.com/simple/

Git

git config --global http.proxy http://proxyUsername:[email protected]:port

pip

pip install --proxy https://username:pwd@proxy:host

aptitude

high-level interface to the package manager

可以用来代替apt命令。

权限

所有者、组成员和其他用所有用户

id命令显示用户身份信息

读取、写入和执行

ls -l命令输出结果的前十个字符表示文件属性

第1个字符的含义

符号 含义
- 普通文件
d 文件夹
l 软链接
c 字符设备文件,如终端、调制解调器
b 块设备文件,如硬盘驱动或光驱
后面每3个字符依次是用户、所属组和其他所有成员的读取、写入、执行权限。
chmod命令修改三种权限,可以用八进制或符号表示法,如二进制111对应的八进制7,表示三种权限都有;符号表示法,用u g o分别表示所有者、所属组、其他所有用户,举例如下表
符号 含义
:---: :--------------------------------------------:
u+x 给所有者添加执行权限
o-rw 其他所有用户被剥离读写权限
go=rw 所属组和其他所有用户被赋予读写权限,无执行权限
chown命令更改文件的所有者和所属群组

umask

进程管理

  1. fg bg
bash 复制代码
ps aux | grep 关键字
bash 复制代码
# For a 'polite' stop to the process (prefer this for normal use), send SIGTSTP:
kill -TSTP [pid]
# For a 'hard' stop, send SIGSTOP:
kill -STOP [pid]
# Note that if the process you are trying to stop by PID is in your shell's job table, it may remain visible there, but terminated, until the process is fg'd again.
# To resume execution of the process, sent SIGCONT:
kill -CONT [pid]
相关推荐
龙哥·三年风水38 分钟前
ubuntu18-nginx-二进制安装
linux·nginx·ubuntu
ZZQ-ZZQ1 小时前
版本控制工具——Git
git·gitee·github·版本控制·gitea
ToreanonyTang2 小时前
数据库中的数组: MySQL与StarRocks的数组操作解析
linux·运维·数据库·mysql
南棱笑笑生2 小时前
20250408在荣品的PRO-RK3566开发板使用Rockchip原厂的buildroot系统时拿掉经常出现的list-iodomain.sh警告信息
linux·运维·服务器
运维李哥不背锅6 小时前
K8S集群节点负载无故飙升:CPU软死锁解决方案
linux·运维
佟晖7 小时前
KGDB调试Linux内核与模块
linux·系统编程
cosX+sinY9 小时前
ubuntu 20.04 编译和运行A-LOAM
linux·ubuntu·bash
会飞的土拨鼠呀10 小时前
vim 清除文件所有行
linux·编辑器·vim
Brandon汐10 小时前
Linux第四章练习
linux·运维·服务器
Jayin_chan10 小时前
ragflow本地部署(WSL下Ubuntu)
linux·ubuntu·ai大模型·rag·ragflow