Linux常用命令总结(二)
Linux常用命令(二)
本篇是继上篇博文的内容的完善。
Linux常用命令总结(一)
一、history命令
history [选项] [历史命令保存文件]
选项:
-c:清空历史命令
-w:把缓存中的历史命令写入历史命令保存文件 ~./bash_history
二、输出输入重定向
-
输出重定向:
输入重定向:
wc [选项] [文件名]
选项:
-c:统计字节数
-w:统计单词数
-l:统计行数
用ctrl+d结束输入并统计输出结果,结果的格式一般分别为 行、 单词 、字节
命令 < 文件 统计文件的信息
命令 << 统计标识符 (统计两个标识符之间的信息 abc开始……abc结束)
三、管道符
多命令执行符:
管道符:
命令1 | 命令2 命令1的正确输出作为命令2的操作对象,例如ls -l /etc more;
more命令用于结果分页显示。
四、通配符
基本通配符:
五、bash变量
用户自定义变量:
[变量名]=[变量值]
打印变量信息:
echo $变量名
查看系统所有变量:
set
删除变量:
unset [变量名]创建自定义的环境变量:
export [变量名]=[变量值]
查看环境变量:
env
PATH变量:
系统查找命令的路径
增加PATH变量的值:查看当前操作系统的语系:
locale [参数]
参数:
LANG:显示系统当前语系
显示所有语系:
locale -a
查看默认语系:
cat /etc/sysconfig/i18n
统计分区大小:
df -h位置参数变量:
$n:n表示第几个参数 0代表命令本身,1-9代表一到第九个参数,十以上的参数需要用大括号包含如,${10};
例如sum.sh:
#!/bin/bash
name1=$1
name2=$2
sum=$(($name1+$name2))
echo $sum
运行如下:
./sum.sh 3 4结果为7
$*返回命令行输入的所有参数,并把所有参数看成一个整体
$@返回命令行输入的所有参数,把每个参数区分对待
$#返回输入的参数个数
预定义变量:
$?:输出为0指上次命令执行正确,否则错误(错误的返回值有编写人员决定)
$$:返回当前进程的PID号
\$!:后台运行的最后一个进程的进程号(PID号)接收键盘输入:
read [选项][变量名]
选项:
-p 提示信息:在等待read输入时,输出提示信息
-t 秒数:read命令会一直等待用户输入,使用此选项可以指定等待时间
-n 字符数:read命令只接受指定的字符数,就会执行
-s 隐藏输入的数据:适用于机密信息的输入
换行:
echo -e “\n”
六、运算符
declare声明变量类型:
declare [+/-][选项] 变量名
选项:
+:取消变量的类型属性
-:给变量设定类型属性
-a:将变量声明为数组类型
-i:将变量声明为整型
-x:将变量声明为环境变量
-r:将变量声明为只读变量
-p:显示指定变量的被声明的类型expr或let数值运算工具:
sum=$(expr $aa+$bb)
“$((运算式))”或”$[运算式]”:
ff=$(($aa+$bb))变量测试:
主要用于shell优化
七、环境变量
- umask:用于查看系统的默认权限,目录最高为权限777(rwxrwxrwx),文件最高权限为666(rw-rw-rw-);
创建的文件或者目录的权限通过字母的加减确定,如:
umask [文件]
0022 代表 —-w–w-
则创建的文件权限rw-r–r– source [配置文件] 或者 . [配置文件]:直接使修改的配置文件生效,不需要重启
登陆时起作用的环境变量配置文件:
/etc/profile(完整登陆的起点)(改历史命令条数)
/etc/profile.d/*.sh
~/.bash_profile
~/.bashrc(改别名)
/etc/bashrc(非完整登陆的起点,如切换超级用户 )(改登陆提示符)
启动流程:3.环境变量配置文件的功能:
/etc/profile:USER umask……
/etc/bashrc:PS1变量,umask,PATH变量,调用/etc/profile.d/*.sh文件注销时生效的环境变量配置文件:
~/.bash_logout保存历史命令的配置文件:
~/.bash_history(保存在文件当中的历史命令,可调大)本地终端警告信息(登陆之前显示):
/etc/issue 里面可添加转义符:
\r:显示内核版本
\n:显示主机名
\o:显示域名
\d:显示系统日期
\s:显示操作系统名称
\l:显示登陆的终端号(默认有6个字符界面 tty1-6)远程终端警告信息(登陆之前显示):
/etc/issue.net 里面不可加转义符,由ssh的配置文件/etc/ssh/sshd_config决定,加入”Banner/etc/issue.net行才能显示(需要重启SSH服务);本地与远程均可显示(登陆后显示警告):
/etc/motd
八、正则表达式
基础正则表达式:
九、字符截取命令
cut字段提取命令(无法识别空格):
cut [选项] 文件名
选项:
-f 列号:提取第几列
-d 分隔符:按照指定分隔符分割列printf命令:
printf ‘输出类型输出格式’ 输出内容
输出类型:
%ns:输出字符串。N是数字指代输出几个字符
%ni:输出整数。N是数字指代输出几个数字
%m.nf:输出浮点数。M和n是数字,指代输出的整数位数和小数位数。如%8.2f代表共输出8位数,其中2位数小数,6位是整数123456.78。
输出格式:
\a:输出警告声音
\b:输出退格键
\f:清除屏幕
\n:换行
\r:回车,也就是Enter键
\t:水平输出退格键,也就是Tab键
\v:垂直输出退格键,也就是Tab键awk命令:
awk ‘条件1{动作1}条件2{动作2}…’ 文件名
条件:
一般使用关系表达式作为条件
x>10:判断变量x是否大于10
x>=10:大于等于
X<=:小于等于
动作:
格式化输出
流程控制语句
例如:
awk ‘{printf $2 “\t” $4 “\n”} test.txt
df -h | awk ‘{print $5}’:查看系统资源占用情况
FS:内置变量,用于表示分隔符是什么
如:awk ‘BEGIN{FS=”:”} {print 3}’ps命令:
ps aux:查看系统中所有正在运行的进程-
sed命令(字符串选取,替换,删除,增加)(与vi相似):
sed [选项] ‘[动作]’ 文件名
选项:
-n:一般sed命令会把所有数据都输出到屏幕,如果加入此选择,则只会把经过sed命令处理的行输出到屏幕。
-e:允许对输入数据应用多条sed命令编辑
-i:用sed的修改结果直接修改读取数据的文件,而不是由屏幕输出
动作:
a:追加,在当前行后添加一行或多行
c:行替换,用c后面的字符串替换原数据行
i:插入,在当前行前插入一行或多行。d:删除,删除指定行
p:打印,输出指定的行
s:字串替换,用一个字符串替换另外一个字符串。格式为”行范围s/旧字串/新字串/g”
十、字符处理命令
sort命令:
sort [选项] 文件名
选项:
-f:忽略大小写
-n:以数值型进行排序,默认使用字符串排序
-r:反向排序
-t:指定分隔符,默认的分隔符是制表符
-k n[,m]:按照指定的字段范围排序。从第n个字段开始,m字段结束。wc命令:
wc [选项] 文件名
选项:
-m:统计字符数
-w:只统计单词数
-l:只统计行数