【工具】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:key@proxy.huawei.com <其他参数>

软件管理工具

有网络代理下的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:proxyPassword@proxy.server.com: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]
相关推荐
C++忠实粉丝3 分钟前
计算机网络socket编程(3)_UDP网络编程实现简单聊天室
linux·网络·c++·网络协议·计算机网络·udp
量子网络22 分钟前
debian 如何进入root
linux·服务器·debian
我们的五年29 分钟前
【Linux课程学习】:进程描述---PCB(Process Control Block)
linux·运维·c++
我言秋日胜春朝★1 小时前
【Linux】进程地址空间
linux·运维·服务器
C-cat.2 小时前
Linux|环境变量
linux·运维·服务器
yunfanleo2 小时前
docker run m3e 配置网络,自动重启,GPU等 配置渠道要点
linux·运维·docker
糖豆豆今天也要努力鸭2 小时前
torch.__version__的torch版本和conda list的torch版本不一致
linux·pytorch·python·深度学习·conda·torch
烦躁的大鼻嘎3 小时前
【Linux】深入理解GCC/G++编译流程及库文件管理
linux·运维·服务器
ac.char3 小时前
在 Ubuntu 上安装 Yarn 环境
linux·运维·服务器·ubuntu
敲上瘾3 小时前
操作系统的理解
linux·运维·服务器·c++·大模型·操作系统·aigc