【工具】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]
相关推荐
热爱嵌入式的小许20 分钟前
Linux基础项目开发1:量产工具——显示系统
linux·运维·服务器·韦东山量产工具
韩楚风4 小时前
【linux 多进程并发】linux进程状态与生命周期各阶段转换,进程状态查看分析,助力高性能优化
linux·服务器·性能优化·架构·gnu
陈苏同学4 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
Ambition_LAO4 小时前
解决:进入 WSL(Windows Subsystem for Linux)以及将 PyCharm 2024 连接到 WSL
linux·pycharm
Pythonliu75 小时前
茴香豆 + Qwen-7B-Chat-Int8
linux·运维·服务器
你疯了抱抱我5 小时前
【RockyLinux 9.4】安装 NVIDIA 驱动,改变分辨率,避坑版本。(CentOS 系列也能用)
linux·运维·centos
追风赶月、5 小时前
【Linux】进程地址空间(初步了解)
linux
栎栎学编程5 小时前
Linux中环境变量
linux
挥剑决浮云 -5 小时前
Linux 之 安装软件、GCC编译器、Linux 操作系统基础
linux·服务器·c语言·c++·经验分享·笔记
小O_好好学6 小时前
CentOS 7文件系统
linux·运维·centos