Linux常用命令汇总

查询文件数

查看当前目录下的文件个数

ls -l | grep "^-"| wc -l  

查看指定目录下的文件个数

ls -l specified_dir | grep "^-"| wc -l  

递归查询当前目录下的文件个数


ls -lR | grep "^-"| wc -l 
find ./ -type f | wc -l # better

递归查询指定目录下的文件个数

ls -lR specified_dir | grep "^-"| wc -l 

统计指定后缀名的文件个数

find . -name '*.wav' | wc -l

将程序放入后台运行,以及如何放回前台,再放回后台等

前面讲过,使用 Ctrl+Z 快捷键的方式,可以将前台工作放入后台,但是会处于暂停状态,那么,有没有办法可以让后台工作继续在后台执行呢?答案是肯定的,这就需要用到 bg 命令。

bg 命令的基本格式如下:

[root@localhost ~]# bg %工作号

和 fg 命令类似,这里的 % 可以省略。

举个例子,读者可以试着把前面章节中放入后台的两个工作恢复运行,命令如下:

[root@localhost ~]# bg %1   <--- 等同于 bg 1
[root@localhost ~]# bg %2   <--- 等同于 bg 2
#把两个命令恢复到后台执行
[root@localhost @]# jobs
[1]+ Stopped top
[2]- Running tar -zcf etc.tar.gz /etc &
#tar命令的状态变为了Running,但是top命令的状态还是Stopped

可以看到,tar 命令确实已经在后台执行了,但是 top 命令怎么还处于暂停状态呢?原因很简单,top 命令是需要和前台交互的,所以不能在后台执行。换句话说,top 命令就是给前台用户显示系统性能的命令,如果 top 命令在后台恢复运行了,那么给谁去看结果呢?

在Linux中:
ctrl-c: ( kill foreground process ) 发送 SIGINT 信号给前台进程组中的所有进程,强制终止程序的执行;

ctrl-z: ( suspend foreground process ) 发送 SIGTSTP 信号给前台进程组中的所有进程,常用于挂起一个进程,而并

'FG’解释:foreground
描述:如果作业控制启用了(请参阅《AIX 5L V5.2 系统用户指南:操作系统与设备》中的『Korn Shell 中的作业控制』),fg 命令移动当前环境中的后台作业到前台来。使用 JobID 参数来指明在前台下要运行的特定作业。如果此参数没有提供,fg 命令使用最近在后台被暂挂的作业,或者作为后台作业运行。
用途:fg指令用于将后台运行的或挂起的任务(或作业)切换到前台运行。如果后台有多个命令执行时,可以用fg+后台的作业弓指令调至前台继续运行。 [1]
语法:fg [JobID]
JobID 参数可以是进程的标识号,或者您可以使用如下的符号组合:
%Number 通过作业编号引用作业。
%String 引用名称以特定字符串开头的作业。
%?String 引用名称中包含特定字符串的作业。
%+ OR %% 引用当前作业。
%- 引用前一个作业。

在命令后放一个’&',使得命令在后台运行。这样你可以用如下的方法同时执行这三个程序。
要求实现:

执行三个程序,彼此独立,无需等待其他命令执行结束。

$ long & medium & short &

总结:

当在后台(Linux中并不存在后台这个地点)运行程序时,是将keyboard input和所执行的命令分离,shell并不等待命令执行结束就可以接收新的命令,后台命令的输出仍然后显示到屏幕上面。转载

一条命令执行多个语句的区别

在命令行可以一次执行多个命令,有以下几种:

1.每个命令之间用 ; 隔开
说明:各命令的执行结果,不会影响其它命令的执行。换句话说,各个命令都会执行, 但不保证每个命令都执行成功。

cd /home/PyTest/src; python suning.py

2.每个命令之间用&&隔开
说明:若前面的命令执行成功,才会去执行后面的命令。这样可以保证所有的命令执行完毕后,执行过程都是成功的。

cd /home/PyTest/src&&python suning.py

3.每个命令之间用 || 或者 | 隔开
说明:||是或的意思,如果每个命令被双竖线 || 所分隔,那么一遇到可以执行成功的命令就会停止执行后面的命令,而不管后面的命令是否正确与否。如果执行到错误的命令就是继续执行后一个命令,一直执行到遇到正确的命令为止。

管道可以将一个命令的输出导向另一个命令的输入,从而让两个(或者更多命令)像流水线一样连续工作,不断地处理文本流。在命令行中,我们用|表示管道

linux zip tar压缩和解压

tar
tar可以用来打包文件,还可以把特定目录下的全部文件打包成一个总的文件,打包的同时还可以同时使用gzip的功能进行压缩。如果只执行tar命令则压缩后的文件后缀名是.tar,如果执行gzip命令则压缩后的文件名后缀名是.gz。如果同时执行两个命令则压缩后的文件名是.tar.gz或者简写为.tgz。

比如:tar -zcvf boot.tgz /boot #将/boot目录整合压缩成boot.tgz

参数说明:-z:使用gzip压缩;-c 创建压缩文件;-v 是显式当前被压缩的文件,-f 指使用文件名即boot.tgz。
解压命令:tar -zxvf boot.tgz
参数说明:-x 是解压的意思

如果解压的同时指定解压目录可以执行以下命令:
tar -zxvf boot.tgz -C /home/dir #需要使用-C参数,后面跟上文件路径。

zip
1、把/home目录下面的mydata目录压缩为mydata.zip
zip -r mydata.zip mydata #压缩mydata目录
2、把/home目录下面的mydata.zip解压到mydatabak目录里面
unzip mydata.zip -d mydatabak
3、把/home目录下面的abc文件夹和123.txt压缩成为abc123.zip
zip -r abc123.zip abc 123.txt
4、把/home目录下面的wwwroot.zip直接解压到/home目录里面
unzip wwwroot.zip
5、把/home目录下面的abc12.zip、abc23.zip、abc34.zip同时解压到/home目录里面
unzip abc*.zip
6、查看把/home目录下面的wwwroot.zip里面的内容
unzip -v wwwroot.zip
7、验证/home目录下面的wwwroot.zip是否完整
unzip -t wwwroot.zip
8、把/home目录下面wwwroot.zip里面的所有文件解压到第一级目录
unzip -j wwwroot.zip

主要参数
-c:将解压缩的结果
-l:显示压缩文件内所包含的文件
-p:与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换
-t:检查压缩文件是否正确
-u:与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其它文件解压缩到目录中
-v:执行是时显示详细的信息
-z:仅显示压缩文件的备注文字
-a:对文本文件进行必要的字符转换
-b:不要对文本文件进行字符转换
-C:压缩文件中的文件名称区分大小写
-j:不处理压缩文件中原有的目录路径
-L:将压缩文件中的全部文件名改为小写
-M:将输出结果送到more程序处理
-n:解压缩时不要覆盖原有的文件
-o:不必先询问用户,unzip执行后覆盖原有文件
-P:使用zip的密码选项
-q:执行时不显示任何信息
-s:将文件名中的空白字符转换为底线字符
-V:保留VMS的文件版本信息
-X:解压缩时同时回存文件原来的UID/GID

分包压缩 和合并

linux下分卷压缩,合并解压的3种方法

自己先使用

tar -zcvf first_20220916.tgz /first_20220916
split -d -b 2G --verbose ../first_20220916.tgz
cat x0* > first_20220916.tgz
tar -zxvffirst_20220916.tgz -C unzip/

Linux命令之分割文件split

//打包
$ tar -czvf test.exe.tar.gz test.exe.gz 
test.exe.gz

//分卷压缩包test.exe.tar.gz        
[mip@mip-test-hdp133 exe]$ split -d -b 4m test.exe.tar.gz 
[mip@mip-test-hdp133 exe]$ ll
total 26824
-rw-r--r-- 1 9169005 Nov 12 10:33 test.exe.gz
-rw-r--r-- 1 9145895 Nov 12 13:35 test.exe.tar.gz
drwxr-xr-x 2 4096 Nov 12 13:27 unzip
-rw-r--r-- 1 4194304 Nov 12 13:35 x00
-rw-r--r-- 1 4194304 Nov 12 13:35 x01
-rw-r--r-- 1 757287 Nov 12 13:35 x02
分卷结果时那三个x开头的文件。

//合并
$ cat x0* > test_bak.tar.gz

//解压缩到指定文件
$ tar -zxvf test_bak.tar.gz -C unzip/
test.exe.gz

 

压缩比说明
linux+压缩率最高的命令,Linux压缩解压命令tar、tgz、tar.bz2压缩比率对比

百度云上传数据

上传 xxx

加 -v 会显示进度详情。
添加-d 会显示一些调试信息
添加 -ddd 会显示http通讯信息
在6709 od_xing docker内

bypy syncup xxx
# 或者
bypy upload xxx

以更接近文件大小的单位显示文件的大小

在Linux中显示文件大小时,通常的做法是使用“Is -I”,这是文件的大小。

但是,如果文件很大,则不是特别易读。此时,您可以使用ls -lh以更接近文件大小的单位显示文件的大小。

ls -lh

查看ubuntu的内核版本和发行版本号

sudo lsb_release -a
cat /proc/version

sed

如题

ln软链

一句话总结:做软链的话:

ln -s log2013.log link2013

Linux ln(英文全拼:link files)命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接。
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。

ln [参数][源文件或目录][目标文件或目录]

必要参数:
–backup[=CONTROL] 备份已存在的目标文件
-b 类似 --backup ,但不接受参数
-d 允许超级用户制作目录的硬链接
-f 强制执行
-i 交互模式,文件存在则提示用户是否覆盖
-n 把符号链接视为一般目录
-s 软链接(符号链接)
-v 显示详细的处理过程

软链接:
1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
2.软链接可以 跨文件系统 ,硬链接不可以
3.软链接可以对一个不存在的文件名进行链接
4.软链接可以对目录进行链接
硬链接:
1.硬链接,以文件副本的形式存在。但不占用实际空间。
2.不允许给目录创建硬链接
3.硬链接只有在同一个文件系统中才能创建

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值