Linux
常用命令
-
date 查看时间
-
cal 查看日历
-
clear 清屏
-
pwd 当前目录
-
ls 显示当前目录内容
-
ls -l 显示当前目录详细内容
-
cd 更改当前目录; cd .. 返回上一级
-
mkdir 创建文件夹
-
rmdir 删除文件夹
-
cp 复制 如:
cp file1.txt file2.txt
-
cat 打开文件
-
diff 对比文件是否相同 如:
diff file1.txt file2.txt
-
head 查看文件头部数据 如:查看文件前5行数据
head file1.txt -n 5
-
tail 查看文件尾部数据 如:查看文件后5行数据
tail file1.txt -n 5
-
wc 统计文件数据
- 如:统计:
wc file.txt
统计行数:wc -l file.txt
统计单词数:wc -w file.txt
统计字符数:wc -c file.txt
- 如:统计:
-
rm 删除
-
mv 修改或移动
- 如:修改文件名:
mv file1.txt file2.txt
移动:mv file.txt 文件夹名
- 如:修改文件名:
-
less 文件浏览 按Q返回命令行
-
chmod 修改文件访问权限
-
文件权限 r:读 w:写 x:运行 rwx rwx rwx u g o 作者 小组 其他 二进制 001 001 001 --x --x --x 010 010 010 -w- -w- -w- 100 100 100 r-- r-- r-- 亦可通过十进制数字修改 如:chmod 444 file.txt 可和wc命令组合使用
-
如:删除u的读权限:
chmod u-r file.txt
增加u的读权限chmod u+r file.txt
-
-
grep 查找文件内容 如:
grep test(正则表达式) file.txt
;可和wc命令组合使用 如:grep a file.txt | wc -l
Shell Script
-
运行脚本命令:
sh test.sh
;注释使用 “#” -
四则运算
-
#1、echo输出变量a[注:=两边不能有空格] a=10 echo $a #2、a+b赋值给c #[expr命令,注:表达式需写在``内; +号两端需要空格,乘法运算符\*、括号\( \)需要加转义符"\"] a=10 b=3 c=`expr $a + $b` echo $c
-
-
条件判断
-
if[条件] then 代码 else 代码 fi #(数值)比较运算符: != -ne [not equal] > -gt [greater than] < -lt [less than] >= -ge [greater equal] <= -le [less equal] = -eq [equal] #字符串比较使用 "=" #1、判断a是否大于b a=10 b=3 if[ $a -gt $b ] then echo $a else echo $b fi
-
-
循环
-
for x in ..... [某些版本可使用{1 .. 10}] do 循环体 done 1、输出1-10 for x in 1 2 3 4 5 6 7 8 9 10 do echo $x done
-
while [条件] do 循环体 done #1、当x小于10则执行循环体 while [x -lt 10] do echo $x x=`expr $x + 1` done
-
-
输入
-
#1 、 echo "please enter a:" read a echo "please enter b:" read b c=`expr $a + $b` echo $a + $b = $c #2、 password="hello123" echo "Please enter a password:" read usePassword #注:字符换比较使用 "=" or "!=",两边需留空格 if[ &password = &usePassword ] then echo "密码正确" else exho "密码错误" fi #3、字符串拼接 str1="hello" str2="world" str3="$str1 $str2" echo $str3 #4、判断字符串是否为空 str1="hello" str2="world" #-z zero #-n not zero if[ -z $str1] then echo "str1 是空的" else echo "str1 不是空的" fi
-
-
数组
-
#注:含有数组需使用 bash运行脚本 如:bash test.sh #1、数组 arr=(7 8 9 10 3 2 1) #只输出第1个元素 echo $arr #如需输出8,则 echo ${arr[1]} #输出全部 for i in ${arr[@]} do echo $i done #累加 sum=0 for i in ${arr[@]} do sum=`expr $sum + $i` done echo $sum #比较大小 max=${arr[0]} for i in ${arr[@]} do if[ $i -gt $max ] then max=$i fi done echo $max
-
其它
-
环境变量
PATH=$PATH:路径
注:若使用PATH=路径
则PATH被新路径覆盖而不是追加环境变量,echo命令可在命令行使用;
-
压缩
-
zip
zip test.zip *
把当前目录所有文件及文件夹压缩到test.zip;zip test.zip -r 文件夹名/*
把文件夹下所有文件及文件夹压缩为test.zip,若需要子文件也进行压缩需加 -r;- unzip test.zip 解压;
-
tar
-
压缩
tar -zcvf test.tar.gz 文件夹/
tar.gz是扩展名; -
解压
tar -zxvf test.tar.gz 文件夹/
-
-
-
下载
wget URL