Linux Shell 使用技巧

一次创建多个目录

[[email protected] tmp]# mkdir -p /user/{folder1,folder2,folder3}    
[[email protected] tmp]# ls /user/     
folder1  folder2  folder3

找出根目录下最大的10个目录,并按使用空间从大到小排序

[[email protected] ~]# du -a ./ | sort -nr | head -n 10    
132380    ./     
132316    ./source     
69916    ./source/ZendGuard-5_5_0.tar.gz     
18720    ./source/xunzai.com_mysql-5.0.18.tar.gz     
13732    ./source/php-5.4.11.tar.gz     
6144    ./source/phpMyAdmin-3.5.6-all-languages.tar.gz     
5996    ./source/httpd-2.4.3.tar.gz     
5044    ./source/libxml2-2.9.0.tar.gz     
1984    ./source/pcre-8.32.zip     
1960    ./source/freetype-2.4.10.tar.gz

查看根目录下所有以“.”开头的文件

[[email protected] ~]# find ./ -name ".[^.]*"    
./.bash_logout     
./.bash_profile     
./.bashrc     
./.cshrc     
./.tcshrc     
./.cache     
./.config     
./.bash_history     
./.xauth96WqtE     
./.mysql_history     
./.mysql_history.TMP     
./.viminfo

修改文件或目录的时间戳

[[email protected] ~]# stat person.txt    
  File: ?.erson.txt?     
  Size: 74            Blocks: 8          IO Block: 4096   regular file     
Device: 803h/2051d    Inode: 145535279   Links: 1     
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)     
Context: unconfined_u:object_r:admin_home_t:s0     
Access: 2016-04-02 05:05:10.370059171 -0700     
Modify: 2016-04-02 05:04:40.854898705 -0700     
Change: 2016-04-02 05:04:40.913901033 -0700     
Birth: -     
[[email protected] ~]# touch -t 201604052135 person.txt #格式为YYMMDDhhmm     
[[email protected] ~]# stat person.txt     
  File: ?.erson.txt?     
  Size: 74            Blocks: 8          IO Block: 4096   regular file     
Device: 803h/2051d    Inode: 145535279   Links: 1     
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)     
Context: unconfined_u:object_r:admin_home_t:s0     
Access: 2016-04-05 21:35:00.000000000 -0700     
Modify: 2016-04-05 21:35:00.000000000 -0700     
Change: 2016-04-05 06:36:16.304945163 -0700     
Birth: -

快速备份一个文件:cp filename{,.bak}

[[email protected] ~]# ls    
anaconda-ks.cfg  person.txt  source     
[[email protected] ~]# cp person.txt{,.bak}     
[[email protected] ~]# ls     
anaconda-ks.cfg  person.txt  person.txt.bak  source

进程运行到后台

[[email protected] ~]# Ctrl + z

进程运行到前台

[[email protected] ~]# fg

随机产生10位字符数的十六进制数

[[email protected] ~]# openssl rand -hex 10    
c3e805e84074211cc698

将文件解压到新的目录

[[email protected] src]# ls    
apr-1.4.6.tar.gz        libmcrypt-2.5.8.tar.gz     
apr-util-1.5.1.tar.gz   libpng-1.5.14.tar.gz     
autoconf-2.69.tar.gz    libxml2-2.9.0.tar.gz     
debug                   pcre-8.32.zip     
freetype-2.4.10.tar.gz  php-5.4.11.tar.gz     
gd-2.0.35.tar.gz        phpMyAdmin-3.5.6-all-languages.tar.gz     
httpd-2.4.3             xunzai.com_mysql-5.0.18.tar.gz     
httpd-2.4.3.tar.gz      ZendGuard-5_5_0.tar.gz     
jpegsrc.v8b.tar.gz      zlib-1.2.7.tar.gz     
kernels     
[[email protected] src]# tar zxvf apr-1.4.6.tar.gz -C /tmp/tmp/     
apr-1.4.6/     
apr-1.4.6/shmem/     
apr-1.4.6/shmem/win32/     
…………     
[[email protected] src]# ls /tmp/tmp/     
apr-1.4.6

将所有文件名中含有”txt”的文件移入“/tmp/tmp”目录

[[email protected] ~]# find -iname "*txt*" -exec mv -v {} /tmp/tmp/ \;    
?./person.txt?.-> ?.tmp/tmp/person.txt?     
?./person.txt.bak?.-> ?.tmp/tmp/person.txt.bak?     
[[email protected] ~]# ls /tmp/tmp/     
apr-1.4.6  person.txt  person.txt.bak

将任意一行开头为“#”的去除掉

[[email protected] ~]# cat a.txt    
This is the file     
#This is another file     
#This is the final file     
[[email protected] ~]# sed ‘2s/^#//‘ a.txt     
This is the file     
This is another file     
#This is the final file
时间: 2024-10-14 14:57:49

Linux Shell 使用技巧的相关文章

Linux Shell常用技巧(三) sed

Linux Shell常用技巧(三) sed 八.流编辑器sed 8.1 sed简介 sed是stream editor的缩写,一种流编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,直到文件末尾.文件内容并没有 改变,除非你使用重定向存储输出.sed主要用来自动编辑一个或多个文件,简化对文件的反复操作,编写转换程序等

Linux Shell常用技巧(四) awk

Linux Shell常用技巧(四) awk 九.  awk实用功能: 和sed一样,awk也是逐行扫描文件的,从第一行到最后一行,寻找匹配特定模板的行,并在这些行上运行"选择"动作.如果一个模板没有指定动作,这些匹配的行就被显示在屏幕上.如果一个动作没有模板,所有被动作指定的行都被处理.       1.  awk的基本格式:    /> awk 'pattern' filename    /> awk '{action}' filename    /> awk '

Linux Shell常用技巧(五) awk编程

Linux Shell常用技巧(五) awk编程 十一.  awk编程:    1.  变量:    在awk中变量无须定义即可使用,变量在赋值时即已经完成了定义.变量的类型可以是数字.字符串.根据使用的不同,未初始化变量的值为0或空白字符串" ",这主要取决于变量应用的上下文.下面为变量的赋值负号列表: 符号 含义 等价形式 = a = 5 a = 5 += a = a + 5 a += 5 -= a = a - 5 a -= 5 *= a = a * 5 a *= 5 /= a =

Linux Shell常用技巧(六) sort uniq tar split

Linux Shell常用技巧(六) sort uniq tar split 十二.   行的排序命令sort:   1.  sort命令行选项: 选项 描述 -t 字段之间的分隔符 -f 基于字符排序时忽略大小写 -k 定义排序的域字段,或者是基于域字段的部分数据进行排序 -m 将已排序的输入文件,合并为一个排序后的输出数据流 -n 以整数类型比较字段 -o outfile 将输出写到指定的文件 -r 倒置排序的顺序为由大到小,正常排序为由小到大 -u 只有唯一的记录,丢弃所有具有相同键值的记

Linux Shell常用技巧(七) find xargs

Linux Shell常用技巧(七) find xargs 十六. 文件查找命令find: 下面给出find命令的主要应用示例:    /> ls -l     #列出当前目录下所包含的测试文件    -rw-r--r--. 1 root root 48217 Nov 12 00:57 install.log    -rw-r--r--. 1 root root      37 Nov 12 00:56 testfile.dat    -rw-r--r--. 1 root root 10530

Linux Shell常用技巧(八) 系统运行状况

Linux Shell常用技巧(八) 系统运行状况 十八.  和系统运行状况相关的Shell命令:    1.  Linux的实时监测命令(watch):     watch   是一个非常实用的命令,可以帮你实时监测一个命令的运行结果,省得一遍又一遍的手动运行.该命令最为常用的两个选项是-d和-n,其中-n表示间隔多少秒 执行一次"command",-d表示高亮发生变化的位置.下面列举几个在watch中常用的实时监视命令:    /> watch -d -n 1 'who'  

Linux Shell常用技巧(九) 系统运行进程

Linux Shell常用技巧(九) 系统运行进程 十九.  和系统运行进程相关的Shell命令:       1.  进程监控命令(ps):      要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以 确定有哪些进程正在运行和运行的状态.进程是否结束.进程有没有僵死.哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到的.    ps命令存在很多的命令行选项和参数,然而我们最为常用

Linux Shell常用技巧(十) 管道组合

Linux Shell常用技巧(十) 管道组合 二十. 通过管道组合Shell命令获取系统运行数据:  1.  输出当前系统中占用内存最多的5条命令:    #1) 通过ps命令列出当前主机正在运行的所有进程.    #2) 按照第五个字段基于数值的形式进行正常排序(由小到大).    #3) 仅显示最后5条输出.    /> ps aux | sort -k 5n | tail -5    stephen   1861  0.2  2.0  96972 21596  ?  S     Nov1

Linux Shell常用技巧(十一) 交互式使用shell

Linux Shell常用技巧(十一) 交互式使用shell 二十二. 交互式使用Bash Shell:     1.  用set命令设置bash的选项:    下面为set主要选项的列表及其表述: 选项名 开关缩写 描述 allexport -a 打开此开关,所有变量都自动输出给子Shell. noclobber -C 防止重定向时文件被覆盖. noglob -d 在路径和文件名中,关闭通配符. #打开该选项    /> set -o allexport   #等同于set -a    #关闭

Linux Shell常用技巧(十二) Shell编程

Linux Shell常用技巧(十二) Shell编程 二十三. Bash Shell编程:  1.  读取用户变量:    read命令是用于从终端或者文件中读取输入的内建命令,read命令读取整行输入,每行末尾的换行符不被读入.在read命令后面,如果没有指定变量名,读取的数据将被自动赋值给特定的变量REPLY.下面的列表给出了read命令的常用方式: 命令格式 描述 read answer 从标准输入读取输入并赋值给变量answer. read first last 从标准输入读取输入到第