Linux 常用命令
Contents
设置 JAVA_HOME
export JAVA_HOME="$(dirname $(dirname $(realpath $(which javac))))"
ls 命令详解
ls [选项] [文件名]
选项
- -l
[root@dev workspace]# ls -l
total 16
drwxr-xr-x 2 root root 4096 Jun 26 18:19 download
drwxr-xr-x 3 root root 4096 Jun 26 11:50 git_storage
drwxr-xr-x 2 root root 4096 Jun 25 07:13 sh
drwxr-xr-x 3 root root 4096 Jun 26 14:56 svr
第一列文件类型,文件权限,第二列文件夹或文件个数,第三列创建用户,第四列用户组,第五列文件大小,第六列文件的最后修改时间,最后一列是文件名
- -a 显示隐藏文件/文件夹
- -r 以逆向的方式进行排序,与-l一起使用,默认逆向文件名,如果按时间,加上-t
- -R 递归显示
cat EOF追加与覆盖
1. 覆盖
#!/bin/bash
cat > /root/test.txt <<EOF
Hello!
My site is www.361way.com
My site is www.91it.org
Test for cat and EOF!
EOF
2. 追加
#!/bin/bash
cat >> /root/test.txt <<EOF
Hello!
My site is www.361way.com
My site is www.91it.org
Test for cat and EOF!
EOF
如果EOF改成-EOF
的话,可以保留后面的换行格式,对于在shell内引用python脚本的情况比较好用。
tee
Linux tee命令用于读取标准输入的数据,并将其内容输出成文件。
语法
tee [OPTION]... [FILE]...
说明
-a, --append
添加内容到指定文件,不会覆盖源文件内容
-i, --ignore-interrupts
忽略输入
awk
用法示例
命令 | 说明 |
---|---|
awk ‘{print}’ c.txt | 打印整个文件的内容 |
awk ‘{print $1}’ c.txt | 打印文本的第一列的内容 |
awk ‘{print $1, $2, $3}’ c.txt | 打印文本的第一列到第三列的内容 |
awk ‘{print $1 “\t” $2 “\t” $3}’ c.txt | 打印文本的第一列到第三列的内容,并按照制表符间隔 |
awk ‘{print NR “\t” $1 “\t” $2 “\t” $3}’ c.txt | 打印文本的第一列到第三列的内容和行号,并按照制表符间隔。(NR:number of record) |
文件
统计某文件夹下文件的个数
ls -l |grep "^-"|wc -l
统计某文件夹下目录的个数
ls -l |grep "^d"|wc -l
统计文件夹下文件的个数,包括子文件夹里的
ls -lR|grep "^-"|wc -l
注意,如果文件中有隐藏的文件,需要在ls命令后面加上-a选项。
ls -laR | grep "^-" | wc -l