0.
ls 列出显示目录下的所有文件和目录
ls -S 按文件大小排序列出文件
ls -t 按时间顺序列出文件
ls -a 列出所有文件,包括“.”开头的隐藏文件
cat 查看文件内容
cat -n 显示文件内容,并对所有输出的行数编号
cat -b 和-n类似,但是对空白行不编号
cat -s 连续多个空行时替代为一行空白行
more filename 分页显示指定文件内容,(一次加载全部,按空格显示下一页,按b显示上一页,按q退出)
more -num 指定每页显示的内容
more -s 连续多个空行时替代为一行空白行
less filename 分页显示指定文件内容,(按需加载,按空格显示下一页,按b显示上一页,按q退出)
less -s 连续多个空行时替代为一行空行
head -10 查看文件前10行
head -c 10 查看文件前10个字节
tail -10 查看文件后10行
tail -c 10 查看文件后10个字节
mkdir 新建目录
rmdir 删除空目录
touch 新建文件
rm 删除文件
rm -rf 删除非空文件夹
pwd 显示当前目录
cp 复制目录或文件。-p:连同文件的属性一起复制过去,-r:递归复制,用于目录的复制行为。
mv 移动或重命名指定的文件或文件夹
find . -name "*.conf" 从当前目录开始查找以.conf结尾的文件和文件夹
find . -size 10k 从当前目录开始查找大小为10k的文件和文件夹
find . -empty 从当前目录开始查找空文件。
chmod 775 server.xml 修改文件与目录权限
chmod -r 775 hadoop 递归修改目录下的所有文件和目录的权限
chown tomcat:tomcat server.xml 修改文件的用户和用户组 用户名:组名
cut 文件内容提取工具
cut -d: -f1 /etc/passwd -d指定分割符 -f指定提取特定列的内容 -c指定提取内容的字符串个数
paste 文件内容合并工具
paste -d: 1.txt 2.txt >3.txt 以:为分隔符,把文件1和文件2的同行合并,并重输出到文件3
ls | paste -d: - - - >4.txt 以:为分隔符,每个-代表一个输入,这个表示三个输入写一行。整条命令的作用就是把每个输入用:分割开并写到文件4中,每三个输 入占一行
wc 文件状态处理工具
wc -l统计行数 -m统计字符串 -w统计字的数量
sort 用于进行文字排序
sort -k1,2 text.txt 按text.txt第一列进行排序,再根据第二类进行排序。 -r反向排序 -n按数字方式进行排序 -k指定按第几列进行排序
k1.2第一列属性的第二个字符;k1,2先按第一列排序,再按第二列培排序
tr文本处理工具 -c 所有不属于第一字符集的字符都用第二字符集来代替 -d删除所有属于第一字符集的字符 -s 属于第一字符集的字符,如果连续出现了,只取第一个
1.linux查看端口占用情况
netstat -apn
如果要继续查看具体是哪一个进程占用了具体端口:ps -aux | grep pid
2.查看文本文件的第一行
head -1 filename
3.查看文本文件的最后一行
tail -1 filename
4.查看文本文件的第10行
head -10 filename | tail -1 //先取出前10行,再选择10行中的最后一行
5.在脚本中获取脚本名称
$0
6.获取一个文件中的每一行的第三个元素(以空格为分隔符)
awk '{print $3}'
7.如果文本文件中的每一行的第一个元素是'hello',则输出第三个元素
awk '{if($1=="hello") print $3}'
8.如何连接两个字符串
s1="hello"
s2="world"
s3=${s1}${s2}
echo $s3
9.如何相加两个整数
v1=1
v2=2
v3=$((v1+v2))
echo $s3
10.&、&&、|、||的区别
&:如果要让一个任务在后台执行,则用&; 例如:echo "helloworld" &
&&:前一条命令执行成功的情况下,才会执行后面的命令。 例如:echo "hello" && echo "world" 输出:helloworld
|| :前一条命令执行失败的情况下,才会执行后面的命令。 例如:echo "hello" || echo "world" 输出:hello:
| :管道,把前一条命令的输出后面一条命令的输入
11.name=Jone && echo "my name is $name"输出内容是?
my name is Jone
12. ' 和 ''的区别
' 不会把变量转换为值
'' 会把变量转换为变量的值
13.把标准输出和标准错误输出重定向输出到log.txt文件
echo "helloworld" >log.txt 2>&1
14.用echo命令获取字符串的一部分是
s1=zhangchaowu
echo ${s1:0:5}
15.四种匹配替换
这四种结构的意义是:${var%pattern}和${var%%pattern}表示从最右边(即结尾)匹配的,${var#pattern} 和${var##pattern}从最左边(即开头)匹配的。其中${var%pattern} 和${var#pattern}是最短匹 配,${var%%pattern}和${var##pattern}是最长匹配。只有在pattern中使用了通配符才能有最长最短的匹配,否则没有最 长最短匹配之分。
结构中的pattern支持通配符,*表示零个或多个任意字符,?表示零个或一个任意字符,[...]表示匹配中括号里面的字符,[!...]表示不匹配中括号里面的字符。
例子:
如果给定字符串 variable="User:123:321:/home/dir"
,如何只用 echo
命令获取 home_dir
?
echo ${variable#*:*:*:}
或 echo ${variable##*:}
如何从上面的字符串中获取 “User”
?
echo ${variable%:*:*:*}
或 echo ${variable%%:*}
16.wc
wc -l统计行数
wc -c统计字节数
wc -w 统计字符串个数
17.统计同一个字符串在一个文件中出现的次数
grep -o "str" filename | wc -l
18.去除一个字符串中的所有空格
echo $str|tr -d " "
19.输出0到100中所有3的倍数:
for i in {1..100..3};
do
echo i;
done
20.打印传给脚本的所有参数
echo $*
21.[[ $string == abc* ]]
和 [[ $string == "abc*" ]]
有什么区别
[[ $string == abc* ]]
- 检查字符串是否以字母 abc 开头
[[ $string == "abc" ]]
- 检查字符串是否完全等于 abc
22.在bash中定义数组
arrays=("hello" "world" "zhangchaowu")
23.打印数组的第一个元素
echo $(arrays[0])
24.打印数组的所有元素
echo $(arrays[@])
25.有一个文件ip.txt,每行一条ip记录,共若干行,用命令统计出出现次数最多的前三个ip及其次数。
sort ip.txt | uniq -c | sort -rn | head -3