基本操作命令
---------------------------------------------------------------
ls(显示当前目录内容)
-a 包括隐藏文件.开头
-l 详细罗列
-R 递归显示下层子目录
-r 倒序显示
-i 查看inode
-d 查看目录属性
-h 人性化显示大小
用ls -l的结果
- r w - r - - r - - . 9(引用次数)所属用户 所属组 大小 最后一次修改时间 文件名
---------------------------------------------------------------
---------------------------------------------------------------
cd(改变工作路径)
. 当前路径
.. 当前路径上一级
~ 当前用户主文件夹
~username 指定用户主文件夹
- 返回上次执行cd前
---------------------------------------------------------------
---------------------------------------------------------------
cat(显示文本文件内容)
-n 显示行号1开头
-d 显示行号不包括空行1开头
-e 行尾显示$
---------------------------------------------------------------
---------------------------------------------------------------
locate(文件搜索)
#在/var/lib/mlocate(后台数据库)中按文件名搜索
#locate的速度快,只能按文件名搜索
updatedb 更新数据库
#locate whereis which 都遵守/etc/updatedb.conf的命令
#/etc/updatedb.conf的内容
PRUNE_BIND_MOUNTS="yes"yes(生效) no (不生效)
PRUNEFS=
#不搜索这些文件系统
PRUNENAMES=
#不搜索文件名中包含这些关键字的文件
PRUNEPATHS=
#不搜索这些目录中更新的文件
find(文件搜索) [搜索范围][搜索条件]
#find / install.log
#避免大范围搜索,会非常耗费系统资源
#find是在系统当中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配
#find /root -name "ab[cd]"#搜索/root中ab开头以c或d结尾的文件
-iname #不区分大小写
-user #按照所有者搜索
-nouser #查找没有所有者的文件
#find /var/log/ -mtime +10
#找10天前修改的文件
#-10 10天内修改的文件
#10 10天当天
#+10 10天前
-atime #文件访问时间
-ctime #改变文件属性时间
-mtime #修改内容时间
find /etc -size +20k -a -size -50k
-size #按大小
-inum #按inode
#搜索/etc 下与20k小于50k的文件
-a #逻辑与
-o #逻辑或
find /etc -size +20k -a -size -50k -exce ls -lh {}\;
#-exce {}\;是标准格式,上面比find /etc -size +20k -a -size -50k多了显示详细信息
whereis (命令搜索)
#搜索命令执行文件和帮助文档
-b #只搜可执行文件位置
-m #只搜帮助文档位置
which (命令搜索) #和whereis -b类似,并且可以看见别名
#不是所有命令都可以找到(shell中的内置命令)
---------------------------------------------------------------
---------------------------------------------------------------
grep(字符串搜索) 使用方法 grep 要匹配的字符 匹配文件
---------------------------------------------------------------
---------------------------------------------------------------
sort(排序)
-d #字典排序(对字母、数字、空格、制表符有意义)
-f #忽略大小写
-r #逆序排序
---------------------------------------------------------------
---------------------------------------------------------------
less(分页命令)执行完按Q返回shell 方向键,J,K键滚动屏幕 支持搜索 ‘/’+字符串
more(分页命令)执行完返回shell 空格键,S,D键滚动屏幕
man(显示命令的帮助信息)
-s 根据章节显示 例如 man -s 1 ls 显示ls第1章节
-w 不显示手册,只显示文件所在位置
-a 显示所有手册页,而不是显示第一个
help(系统帮助命令) help+命令 查看所有系统shell命令
info(查看GUN程序命令的帮助文档) 不带任何参数时,显示系统所有手册页的分类索引
info+命令 显示指定命令的信息手册,Q退出手册
---------------------------------------------------------------
---------------------------------------------------------------
文件和目录操作命令
touch newfile 创建一个文件
echo > newfile 创建一个文件
cat > newfile 创建一个文件
---------------------------------------------------------------
---------------------------------------------------------------
cp(复制移动) cp+源文件+目标路径(可重命名) 例如cp+源文件+/路径/(/路径/重命名)
复制目录 -r
带属性复制 -p
复制链接文件 -d
相当于-pdr -a
---------------------------------------------------------------
---------------------------------------------------------------
rm(删除) 删除文件 rm+文件
删除目录 rm -r +文件
交互删除 rm -i +文件 询问时输入y确认删除
强制删除 rm -f +文件
常用rm -rf 既可以删除文件也可以删除目录,注意误删/目录
---------------------------------------------------------------
---------------------------------------------------------------
mkdir(创建目录) 只能创建一级目录
-p 递归创建(可创建多级目录)
-m 设置目录访问权限 3组3字符 d--- --- --- (- 为r:4、w:2、d:1)例如 mkdir -m 700 设置的权限为 drwd --- ---
---------------------------------------------------------------
---------------------------------------------------------------
rmdir 删除空目录
---------------------------------------------------------------
---------------------------------------------------------------
mv(剪切和重命名)
-i 交互重命名
-f 禁止交互重命名
---------------------------------------------------------------
---------------------------------------------------------------
tar(文档打包) 主选项 次选项
-c 创建新的包f 指定包的文件名
-x 从文档中释放文件v 显示执行过程
-r 加入已有的包z 指明待操作的包是一个gzip包
-t 列出包的所有文件
-u 更新包中的文件
用法 tar -主选项次选项 (新名称) 文件名 解压使用-x
解压tar.gz -zxpf
压缩tar.gz -zcpf
---------------------------------------------------------------
---------------------------------------------------------------
gzip(压缩命令) 生成一个.gz的压缩文件
-d 解压缩被压缩的文件出现,但压缩的.gz文件被删除
---------------------------------------------------------------
系统操作命令
---------------------------------------------------------------
logout(注销用户)
shutdown和halt(关闭系统)
shutdown -h now 立即关机
shutdown -r now立即重启
shutdown -r +5 5分钟后重启
shutdown -h +3 3分钟后关机
halt shutdown -h
reboot(重启系统) 用户必须有root权限。执行后立即关闭应用程序,然后退出系统,最后重启系统
---------------------------------------------------------------
---------------------------------------------------------------
ln(链接命令) 创建硬链接
创建软链接 -s
---------------------------------------------------------------
$PATH 环境变量:系统搜索命令的路径(即可以不通过文件的路径启动命令,每个路径用 :隔开)
export PATH=$PATH:/usr/local/bin命令行状态下直接修改环境变量修改环境变量
mount 查看已挂载的挂载点
-a 依赖/etc/fstab文件挂载
df -h 统计当前分区
locale 查看系统语系
env 仅用来查看环境变量
export 设置环境变量
#export 变量名=值
#用户可以自定义一个环境变量,但对系统生效的环境变量的变量名和作业是固定的
#环境变量是全局变量
set 查看存在的变量
-u 设置查看不存在的变量时会报错
顺位优先级
1、路径
2、别名
3、bash内置
4、path查找
常见目录作用
/ 根
/bin 命令保存目录(普通用户就可以读取的命令)
/boot 启动相关文件目录(单独分区不能写满)
/dev 设备文件保存目录
/etc 配置文件保存目录
/home 普通用户家目录
/lib 系统库保存目录
/mnt 系统挂载目录(空目录)挂U盘,移动硬盘
/media 挂载目录(空目录)挂光盘
/misc 挂载目录(空目录)
/cgroup
/opt
/proc 不能直接操作,内存过载点
/sys 不能直接操作,内存过载点
/selinux
/usr 系统软件资源目录
/usr/bin 命令保存目录(普通用户就可以读取的命令)
/usr/sbin 命令保存目录(超级用户可以读取的命令)
/lost+found
/net
/sbin 命令保存目录(超级用户可以读取的命令)
/srv
/tmp 临时目录
/var 系统相关文档内容目录
/root 超级用户家目录
#Makefile
#this is make file
hellp.out:max.o min.o hello.c
[tab] gcc -c max.o min.o hello.c -o hello.out
max.o:max.c
gcc -c max.o
min.o:min.c
gcc -c min.o