【工具】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]
相关推荐
DD_陈东东6 分钟前
gdbus 常用数据结构与库函数
linux
T - mars17 分钟前
Git在Pycharm中的使用
git
sunarmy41 分钟前
curl: (56) OpenSSL SSL_read: Connection reset by peer, errno 104
git
DIY机器人工房1 小时前
代码详细注释:ARM-Linux字符设备驱动开发案例:LCD汉字输出改进建议开发板断电重启还能显示汉字,显示汉字位置自定义
linux·嵌入式·文件io·diy机器人工房
得物技术1 小时前
eBPF 助力 NAS 分钟级别 Pod 实例溯源|得物技术
linux
Rudon滨海渔村2 小时前
解决阿里云ubuntu内存溢出导致vps死机无法访问 - 永久性增加ubuntu的swap空间 - 阿里云Linux实例内存溢出(OOM)问题修复方案
linux·运维·ubuntu
A-刘晨阳2 小时前
【Linux】Redis 6.2.6 的二进制部署【适用于多版本】
linux·运维·redis
典学长编程2 小时前
高效学习之一篇搞定分布式管理系统Git !
大数据·git·搜索引擎
cat_with_cat3 小时前
Linux网络:UDP socket创建流程与简单通信
linux·网络·udp
是2的10次方啊3 小时前
.gitignore失效自救指南:原理揭秘与工程师实战排查全流程
git