搜索文件
在数据库中查找
whereis
可执行文件,源文件,帮助文件
locate
快而全,在/var/lib/mlocate/mlocate.db中查找,可以用来查找指定目录下的不同文件类型,与正则表达式配合使用
硬盘中查找
which
用来查找系统是否安装了某个软件,从环境变量中查询
find
通过文件类型查找
通过文件名查找
通过文件属性搜索
用户管理
用户
查看当前用户
who am i
root权限
sudo cmd 以特权级别运行命令
创建用户
sudo adduser lilei
切换用户
su user 切换用户
用户组
查看属于哪个用户组
groups 用户名
创建用户组
将用户添加到用户组
文件操作
查看文件
ls -a查看全部文件
ls -al查看全部文件详细信息
目录结构
挂载设备 dev media(存储设备) mnt(临时文件系统)
配置文件 etc
家目录 home root
可执行命令 bin sbin(root用户)
内容不断变化的文件 如日志 var
动态库和模块文件 lib lib64
临时文件 tmp
绝大多数的用户工具和应用程序 usr
服务所需的文件和执行脚本 srv
发行版本附加的一些软件包 opt
开机相关设置和内核文件 boot
目录路径
根目录 /
home目录 ~
返回上级目录 ..
上次所在的目录 -
查看当前目录 pwd
文件操作
新建 touch
复制 cp
删除 rm
rm -f 删除只读文件
剪切 mv
改名 mv rename
打印文件到标准输出
cat 正序显示
tac 倒序显示
阅读文件
more
less
查看头几行和尾几行
head
tail
读取不断变化的文件 tail -f
查看文件类型
file
目录
新建 mkdir
复制 cp -r
删除 rm -r
环境变量
创建一个变量 declare tmp
直接使用赋值 tmp = shiyanlou
读取变量 echo $tmp
变量类型
shell所有变量() set
与当前用户相关的环境变量 env
从shell中到处成环境变量的变量 export
使变量永久生效
修改 /etc/profile文件
在当前bash环境下读取并执行FileName中的命令
source命令
帮助
内建命令
help
外部命令
ls --help
不区分内建和外部命令
man命令
info命令比man命令更详细
命令执行顺序控制与管道
执行顺序控制
cowsay
管道 “|”后的动作
打印每一行的某个字段
cut
中文本中或标准输入中查找字段
grep
统计并输出一个文件中行,单词,和字节的数目
wc
排序
sort
去除重复
uniq
正则表达式
选择
|
数量限定
+ 前面的字符至少出现一次
?前面的字符最多出现一次
× 前面的字符可以不出现也可以出现一次或多次
范围和优先级
() 将括号中的字符串当作一个整体
语法
\ 转义字符
^ 字符串开始
$ 字符串结尾
{n} 匹配确定的n次
{n,} 至少匹配n次
{n,m} 至少匹配n次至多匹配m次
。 匹配除'\n' 外的任意单个字符
[xyz] 任意一个字符
[^xyz] 匹配未列出的字符
[a-z]
[^a-z]
配合正则表达式查找
grep命令
-i 忽略大小写
-n 显示行号
-r 递归匹配查找
配合正则表达式编辑
sed流编辑器
基于pattern{action}模式处理文本
awk文本处理语言
软件安装
apt(Advance Packaging Tool)包管理工具
从服务器上下载一个软件包列表 s
udo apt-get update
apt-get
安装
install
升级软件
update
upgrade 升级本地可更新的全部软件包
dist-upgrade 升级并解决依赖问题
卸载
remove 移除已安装的软件包
参数
-f 修复损坏的依赖关系
-d 只下载不安装
--reinstall
搜索
sudo apt-cache search softname
进程查看
top工具
ps工具
pstree工具 进程间的相关性
进程管理
kill命令
数据量重定向
简单重定向
cat > test.c
使用tee命令同时定向到多个文件
echo 'hello shiyanlou' | tee hello
永久重定向
exec