Linux 中一些比较有用但不常见的命令

记录一些在Linux 运维中很有用平常又很少用到的命令,有些可能需要手工yum安装。逐渐完善中

 

1. 树状显示所有块设备lsblk, 优雅又好看,加上-a 参数可以显示空设备

[root@hk0001 ~]# lsblk
NAME                       MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                          8:0    0   50G  0 disk
├─sda1                       8:1    0  512M  0 part /boot
├─sda2                       8:2    0    8G  0 part /
├─sda3                       8:3    0    4G  0 part
│ └─vg01-lv_appvol (dm-8)  253:8    0    4G  0 lvm  /appvol
└─sda4                       8:4    0 37.5G  0 part
  ├─vg00-lv_swap01 (dm-0)  253:0    0    4G  0 lvm  [SWAP]
  ├─vg00-lv_var (dm-3)     253:3    0   12G  0 lvm  /var
  ├─vg00-lv_home (dm-4)    253:4    0    1G  0 lvm  /home
  ├─vg00-lv_tmp (dm-5)     253:5    0    6G  0 lvm  /tmp
  ├─vg00-lv_kdump (dm-6)   253:6    0    4G  0 lvm  /var/crash
  └─vg00-lv_opt (dm-7)     253:7    0 10.5G  0 lvm  /opt
sdb                          8:16   0  250G  0 disk
└─sdb1                       8:17   0  250G  0 part
  ├─vg02-lv_u01_sq (dm-1)  253:1    0   20G  0 lvm  /u01/sq
  └─vg02-lv_oradata (dm-2) 253:2    0  230G  0 lvm  /oradata
sr0                         11:0    1 1024M  0 rom

2. 测试磁盘性能hdparm,专业测试ATA/IDE硬盘的参数命令,通用测试的话用dd比较多

[root@hkl0001 ~]# hdparm -Tt /dev/sda

/dev/sda:
 Timing cached reads:   10264 MB in  1.99 seconds = 5146.56 MB/sec
 Timing buffered disk reads:  34 MB in  3.65 seconds =   9.33 MB/sec
[root@hkl0001 ~]# time dd if=/dev/zero of=test.dbf bs=8k count=30000 oflag=direct
30000+0 records in
30000+0 records out
245760000 bytes (246 MB) copied, 45.5978 s, 5.4 MB/s

real    0m45.625s
user    0m0.106s
sys     0m2.977s
--注意加上oflag=direct,dd测试的结果仅供参考
[root@hkl0001 ~]# dd if=test.dbf bs=8k count=300000 of=/dev/null
300000+0 records in
300000+0 records out
2457600000 bytes (2.5 GB) copied, 30.3845 s, 80.9 MB/s

3.文件分割和合并,将大文件平均切割为小文件用split,合并用 cat filename* > newFile_name

[root@10001 oracle]# ls -lrth test_sp.txt
-rw-r--r-- 1 oracle oinstall 15M May  7 06:43 test_sp.txt
[root@hkl102756 oracle]# wc -l test_sp.txt
31514 test_sp.txt
--按照行数进行分割,对3W行文件按照1w条记录进行分割
[root@10001 oracle]# split -l 10000 test_sp.txt -d -a 3 test_sp_
[root@10001 oracle]# ls -lrth test_sp*
-rw-r--r-- 1 oracle oinstall  15M May  7 06:43 test_sp.txt
-rw-r----- 1 root   root     4.7M May  7 06:49 test_sp_000
-rw-r----- 1 root   root     4.6M May  7 06:49 test_sp_001
-rw-r----- 1 root   root     4.5M May  7 06:49 test_sp_002
-rw-r----- 1 root   root     695K May  7 06:49 test_sp_003
--按照大小进行分割,每个5M进行分割
[root@10001 oracle]# split -b 5m test_sp.txt -d -a 3 test_sp_d
[root@10001 oracle]# ls -lrth test_sp_d*
-rw-r----- 1 root root 5.0M May  7 06:55 test_sp_d000
-rw-r----- 1 root root 5.0M May  7 06:55 test_sp_d001
-rw-r----- 1 root root 4.4M May  7 06:55 test_sp_d002

---合并文件比较简单
[root@10001 oracle]# cat test_sp_d* > test_mg.txt
[root@10001 oracle]# wc -l test_mg.txt
31514 test_mg.txt
[root@10001 oracle]# ls -lrth test_mg.txt
-rw-r----- 1 root root 15M May  7 06:57 test_mg.txt

4.一次性创建N个文件,有时候我们需要测试,一次性创建100个文件或文件夹

--Create 10 files,use touch Prefix{001..010}suffix
[oracle@00001 dir1]$ touch test{001..010}.log
[oracle@00001 dir1]$ ls -lrt
total 0
-rw-r--r-- 1 oracle oinstall 0 May 13 02:08 test010.log
-rw-r--r-- 1 oracle oinstall 0 May 13 02:08 test009.log
-rw-r--r-- 1 oracle oinstall 0 May 13 02:08 test008.log
-rw-r--r-- 1 oracle oinstall 0 May 13 02:08 test007.log
-rw-r--r-- 1 oracle oinstall 0 May 13 02:08 test006.log
-rw-r--r-- 1 oracle oinstall 0 May 13 02:08 test005.log
-rw-r--r-- 1 oracle oinstall 0 May 13 02:08 test004.log
-rw-r--r-- 1 oracle oinstall 0 May 13 02:08 test003.log
-rw-r--r-- 1 oracle oinstall 0 May 13 02:08 test002.log
-rw-r--r-- 1 oracle oinstall 0 May 13 02:08 test001.log

--Create 10 folders use mkdir Prefix{001..010}suffix
[oracle@00001 dir1]$ mkdir dir_{001..010}
--list folders only,use regular expression grep ^d which means find the file or folder start with 'd'
[oracle@00001 dir1]$ ls -l|grep ^d 
drwxr-xr-x 2 oracle oinstall 4096 May 13 02:16 dir_001
drwxr-xr-x 2 oracle oinstall 4096 May 13 02:16 dir_002
drwxr-xr-x 2 oracle oinstall 4096 May 13 02:16 dir_003
drwxr-xr-x 2 oracle oinstall 4096 May 13 02:16 dir_004
drwxr-xr-x 2 oracle oinstall 4096 May 13 02:16 dir_005
drwxr-xr-x 2 oracle oinstall 4096 May 13 02:16 dir_006
drwxr-xr-x 2 oracle oinstall 4096 May 13 02:16 dir_007
drwxr-xr-x 2 oracle oinstall 4096 May 13 02:16 dir_008
drwxr-xr-x 2 oracle oinstall 4096 May 13 02:16 dir_009
drwxr-xr-x 2 oracle oinstall 4096 May 13 02:16 dir_010

-- similarly we can use grep ^- find the files
[oracle@00001 dir1]$ ls -l|grep ^-
-rw-r--r-- 1 oracle oinstall    0 May 13 02:08 test001.log
-rw-r--r-- 1 oracle oinstall    0 May 13 02:08 test002.log
-rw-r--r-- 1 oracle oinstall    0 May 13 02:08 test003.log
-rw-r--r-- 1 oracle oinstall    0 May 13 02:08 test004.log
-rw-r--r-- 1 oracle oinstall    0 May 13 02:08 test005.log
-rw-r--r-- 1 oracle oinstall    0 May 13 02:08 test006.log
-rw-r--r-- 1 oracle oinstall    0 May 13 02:08 test007.log
-rw-r--r-- 1 oracle oinstall    0 May 13 02:08 test008.log
-rw-r--r-- 1 oracle oinstall    0 May 13 02:08 test009.log
-rw-r--r-- 1 oracle oinstall    0 May 13 02:08 test010.log
--extension Find out files with same name in different directories
   --describe there are two folders dir1 and dir2
 [oracle@00001 com_dir]$ ls -l
total 8
drwxr-xr-x 2 oracle oinstall 4096 May 13 02:21 dir1
drwxr-xr-x 2 oracle oinstall 4096 May 13 02:28 dir2
[oracle@00001 com_dir]$ for file in `find dir1 -type f | awk -F"/" '{print $NF}'`; do find dir2 -type f -iname "$file"| awk -F"/" '{print $NF}' ; done
test006.log
test005.log
test010.log
test007.log
test008.log
test009.log

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值