目录
常用linux——shell命令
find 指定目录 指定条件 搜索内容
-name 按名字查找;
-size 按大小查找;
-inum 按iNode查找;
-type 按类型查找;
whereis
-b 查找二进制文件;
-m 说明文件;
ls 查看别名;
grep 抓取指定字段
格式:grep 字段名 文件名;
-n 显示行号;
-v 反查;
-c 查含有匹配字段行数;
-e 多字段查询、多模式;
"^字段" 开头为字段的行;
"字段$" 结尾为字段的行;
"^字段$" 只含有字段的行;
管道链接字符
|——管道链接字符——链接两个命令
将前一个命令的结果作为后命令的输入;
dmesy——设备链接信息;
wc——统计文件中的行数,单词个数,大小;
-l 只显示行数;
-w 只显示单词数;
-c 只显示文件大小;
cut -d "分隔符号" -f 1,2,3,.. 文件名;
echo 用于打印shell变量的值或者直接输出字符串
注:echo 后不接任何选项时候输出一行空白行
-n 输出文字后不换行;
$变量名 输出变量的值;
$((整数运算)) 进行整数运算;
输出重定向
标准重定向:
1> 例如:hello 1> hello.c;
错误重定向:
2> 例如:错误命令 2> test.txt;
将错误命令报告写入test.txt中;
追加——>>;
shell的通配符:
* 任意长度字符串;
? 一个长度字符串;
[...]指定字符;
[1-4]指定范围;
[^...]匹配除去指定字符;
{...}生成序列——例如:touch hello{1..9}.c;
创建hello1.c....hello9.c;
shutdowm——关机
shutdown 一分钟后关机;
-h now 立刻关机;
-h +30 三十分钟后关机;
-h 20:35 指定时间关机;
-r 重启;
--------------------------------------------
reboot 立即重启;
poweroff 立即关机;
su 切换用户(exit退出当前用户)
通过shell的通配符号来进行ls 所查文件部分信息+通配符号 ——查找所需
密码修改:
sudo passwd 用户名;
增加用户:
adduser;
删除用户:
deluser 用户名;
deluser --remove-home删除用户名及全部组;
ps——静态进程
-ef 显示进程
UID PID PPID C STIME TTY TIME CMD
-aux 显示进程
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
——————————————————————
top——动态进程
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
——————————————————————
kill -9 杀死进程
killall 进程名 结束进程
进程名 & 后台运行
——————————————————————
文件权限修改
chmod 777 文件名——通过权限数字改变权限
chmod u/g/o +(-)r/w/x 改变权限
——————————————————————
chown 用户名——更换所有者;
umask 权限掩码;
zip 压缩文件名 需要压缩文件
-r 压缩目录
(保留原文件)
unzip 解压
————————————————————
gzip 需要压缩文件名
(不保留原文件)
gunzip 解压
————————————————————
bzip2 需要压缩文件名
(不保留原文件)
bunzip 解压
————————————————————
tar——打包
c—创建
v—显示过程
x—释放、解压
z—gzip操作
j—bzip操作
f—指定文件名(置于最后)
-C 指定解压地址
————————————————————
共享文件创建及路径为:/mnt/hgfs
df -TH 查看磁盘空间
mount 挂载
umount 卸载
clear 清屏
history 历史命令
date 系统时间
alias 命令别名
unalias 取消命令别名
export 提升变量为环境变量
——————————————————————
shell语言——解释型语言
1、基本过程:
step1:创建文件,后缀为.sh
step2: chmod 修改权限
step3:执行./文件.sh
2、文件编辑开头为:
#!/bin/bash——指定编译器
——————————————————————
`命令`——可作为值赋予变量
双引号——传参时内部字符串默认为一个参数
变量——shell中变量一般大写表示,且赋值时等号两边不能输入空格
3、shell中变量类型:
1.用户自定义变量;
2.位置变量;
3.预定义变量;
4.环境变量;
export PATH=$PATH:/当前目录
临时改变环境变量;当终端关闭后自动取消
4、变量调用通过——$
set 查看已经定义的变量;
unset 删除变量赋值;
$0 脚本文件名;
$1 第一个参数;
$2 第二个参数;
$3 第三个参数;
...
$9 第九个参数;
${10} 第十个参数;
————————————————————
5、常用变量调用
$@ 包含所有命令行参数(作为单参)
$* 同上
"$*" 包含所有命令行参数(表示一个整
体)
$# 命令行参数个数
$$ 正执行进程的ID
$? 前一个命令的退出结果
(0为正确输出,非0位错误输出)
其他常用关键字
sort——排序显示
-f 忽略大小写
-b 忽略最前面的空格
-M 以月份的名称来排序
-n 使用纯数字排序
-r 反向排序
-u 相同的只显示第一行
-k 指定排序字段
tr [-cds] [第一字符集][第二字符集]
-c 取代所有不属于第一字符集的字符
-d 删除所有属于第一字符集的字符
-s 把连续重复的字符以单独一个字符表示
\<字符字码>——表示使用3位八进制字码指定字符
<1字符>-<2字符>——1字符-2字符之间所有字符
<字符>*<重复次数>——表示重复指定字符
alnum 表示所有字母和数字;
alpha 表示所有字符;
cntrl 表示所有控制字符;
digit 表示所有数字;
lower 表示所有小写字符;
print 表示包括空格在内的所有打印字符;
graph 表示不包括空格在内的所有打印字符
upper 表示所有大写字符;
xdigit 表示所有十六进制数字;
space 表示所有垂直与水平空格符;
cat word.txt | tr a-z A-Z
将word.txt文件中内容全部以大写形式输出
(cat worx.txt | tr lower upper)
bash shell中进行变量运算时候:
运算符号两边要加空格,否者视为字符串连接
且运算时候需要使用awk或expr
例如:
a=10
b=20
val=`expr $a + $b`
echo $val