linux常用命令
ls
ls命令 就是list的缩写,用来显示目标列表,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。
实例
$ ls # 仅列出当前目录可见文件
$ ls -l # 列出当前目录可见文件详细信息
$ ls -hl # 列出详细信息并以可读大小显示文件大小
$ ls -al # 列出所有文件(包括隐藏)的详细信息
$ ls --human-readable --size -1 -S --classify # 按文件大小排序
$ du -sh * | sort -h # 按文件大小排序(同上)
cat
连接多个文件并打印到标准输出。
例子
# 合并显示多个文件
cat ./1.log ./2.log ./3.log
# 显示文件中的非打印字符、tab、换行符
cat -A test.log
# 压缩文件的空行
cat -s test.log
# 显示文件并在所有行开头附加行号
cat -n test.log
# 显示文件并在所有非空行开头附加行号
cat -b test.log
# 将标准输入的内容和文件内容一并显示
echo '######' |cat - test.log
cd
切换用户当前工作目录。
cd # 进入用户主目录;
cd / # 进入根目录
cd ~ # 进入用户主目录;
cd .. # 返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思);
cd ../.. # 返回上两级目录;
cd !$ # 把上个命令的参数作为cd参数使用。
find
在指定目录下查找文件
例子
当前目录搜索所有文件,且文件内容包含 “aaaa”
find . -type f -name "*" | xargs grep "aaaa"
在/home
目录下查找以.txt结尾的文件名
find /home -name "*.txt"
同上,但忽略大小写
find /home -iname "*.txt"
匹配文件路径或者文件
find /usr/ -path "*local*"
根据文件类型进行搜索
find . -type 类型参数
类型参数列表:
- f 普通文件
- l 符号连接
- d 目录
- c 字符设备
- b 块设备
- s 套接字
- p Fifo
grep
强大的文本搜索工具
在文件中搜索一个单词,命令会返回一个包含 “match_pattern” 的文本行:
grep match_pattern file_name
grep "match_pattern" file_name
在多个文件中查找:
grep "match_pattern" file_1 file_2 file_3 ...
递归搜索
在多级目录中对文本进行递归搜索:
grep "text" . -r -n
# .表示当前目录。
忽略匹配样式中的字符大小写:
echo "hello world" | grep -i "HELLO"
# hello 加上 -i就可以
file
file命令 用来探测给定文件的类型。file命令对文件的检查分为文件系统、魔法幻数检查和语言检查3个过程。
显示文件类型
[root@localhost ~]# file install.log
install.log: UTF-8 Unicode text
scp
scp命令 用于在Linux下进行远程拷贝文件的命令,可以在本地主机和远程主机进行文件复制
从远程机器复制文件到本地目录
scp root@10.1.1.2:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/
其中root
为用户名。10.1.1.2
为ip
地址,/opt/soft/nginx-0.5.38.tar.gz
为远程目录文件,/opt/soft/
为复制到本地的文件夹位置
上传本地文件到远程服务器
scp -r /opt/soft/mongodb root@10.10.10.10:/opt/soft/scptest
/opt/soft/mongodb
为本地文件,
root@10.10.10.10:/opt/soft/scptest
为远程服务器
sftp
交互式的文件传输程序
首先是建立连接
$ sftp username@10.1.1.1 # 回车输入密码
sftp kcqrs@10.1.65.51
然后就是上传文件到服务器
sftp> get /export/sftp/test.csv /Users/my/Downloads
下载文件到服务器
sftp> put /Users/my/Downloads/re-produce.gif /export/sftp
tar
压缩
将 /home/vivek/bin/
目录打包,并使用 gzip 算法压缩。保存为 /tmp/bin-backup.tar.gz
文件。
tar -zcvf /tmp/bin-backup.tar.gz /home/vivek/bin/
tar -zcvf horizon_bayes-a825-03_open_explorer_v0.0.6-py38_20240722.tar.gz ./horizon_bayes-a825-03_open_explorer_v0.0.6-py38_20240722
如果你有一个 .tar
文件,你可以使用 -x
选项来解压它:
tar -xvf archive.tar
对于 .tar.gz
或 .tgz
文件,你需要加上 -z
选项来启用 gzip 解压缩:
tar -zxvf archive.tar.gz
对于 .tar.bz2
或 .tbz2
文件,你需要加上 -j
选项来启用 bzip2 解压缩:
tar -jxvf archive.tar.bz2
对于 .tar.xz
或 .txz
文件,你需要加上 -J
选项来启用 xz 解压缩:
tar -Jxvf archive.tar.xz
zip
压缩文件夹
zip -r compressed.zip folder/
使用最大压缩比压缩文件,下面这个命令 -9
参数指定了最大压缩比,尽管可能需要更长的处理时间
zip -9 compressed.zip file.txt
压缩效率选择:
zip -9 # 1-9 faster->better
du
后续继续更新