shell快捷键
- ctrl+a=home
- ctrl+e=end
- crtl+d=delete
- ctrl+u删除光标前所有字符
-
linux目录
/bin:存放二进制文件,可执行程序,shell命令
- /sbin:存放系统管理员使用的系统管理程序,ifconfig, halt, shutdown, reboot等
- /dev:device,存放驱动文件
- /lib:存放动态库如libc.so、libpthread.so等(动态库文件在Windows中为dll文件,linux中为so文件)
- /mnt:手动挂载目录,如光盘等
- /media:外设自动挂载目录,如光盘等
- /root:root用户的家目录
- /usr:Unix system resource 类似于Windows的Program Files
- /usr/include:存放头文件,如stdio.h、stdlib.h、string.h、pthread.h等
- /etc:存放配置文件
- /etc/passwd:所有用户密码
- /etc/group:所有用户分组信息
- /etc/profile:系统配置文件,修改该文件会影响所有用户
- /opt:安装第三方应用程序的位置
- /home:存放所有用户的家目录:如/home/ytl为用户ytl的家目录
/tmp:存放临时文件,新建在这个目录下的文件会在系统重启后自动被清除
常用指令
ls
- -a:列出路径下所有文件,包括“.”开头的隐藏文件
- -R:递归列出所有目录中的内容(效果不如tree)
- -l:列出文件详细信息

- 文件类型(第一个字符)- -:普通文件- d:目录- l:符号链接(软链接)相当于Windows中的快捷方式- s:套接字- p:管道- b:块设备,如硬盘- c:字符设备,如键盘、鼠标- 用户操作权限(2-10个字符)- 2-4文件所有者,5-7文件同组者,8-10其他人- r:读,w:写,x:执行- 硬链接计数- 文件所有者- 文件所属组- 文件大小:单位默认为字节,目录大小为4k(4096字节)- 文件最后修改时间- 文件名
- 参数之间结合使用
- ls -al:列出路径下所有文件(包含隐藏文件)详细信息
- ls -ltr:按修改时间,从久到近列出所有文件

- pwd:查看当前工作目录
- which:显示命令所在目录

- touch
- touch 文件名:文件不存在创建新文件,存在则更新最后修改日期
- mkdir
- 单级目录:mkdir dir
- 多级目录:mkdir -p dir/a/b/c
- rmdir:删除空目录
- rm:删除文件不放如回收站
- 删除文件:rm 文件名
- 删除目录:rm -r 目录名
- -r:递归删除目录
- -i:提示用户是否删除文件或目录
- -f:强制删除
- cp
- cp fille file1(不存在)
- 创建file1,将file内容复制到file1中
- cp file file1(存在)
- file覆盖file1
- cp file dir(存在)
- file拷贝到dir/下
- cp -r dir(存在) dir1(存在)
- 将dir拷贝到dir1下
- cp -r dir(存在) dir1(不存在)
- 创建dir1将dir中所有文件拷贝到dir1
- cp -a可以报了被拷贝文件的一些属性信息
- cp fille file1(不存在)
- mv
- 改名
- mv file(存在) file1(不存在)
- mv dir(存在) dir1(不存在)
- mv file(存在) file1(存在):file改名为file1,覆盖原有file1
- 移动
- mv file dir:将file移动到dir下
- mv dir(目录存在) dir1(目录存在):将dir移动到dir1
- 改名
- cat
- cat 文件名:将文件内容输出到终端
- cat file1>file2:相当于cp file1 file2,>为覆盖,>>为续写
- more
- more 文件名:文件内容分页显示到终端,只能向下浏览,不能回退
- 回车:显示下一行;空格:显示下一页;退出:q(ctrl+c)
- less
- less 文件名:文件分页显示到终端,可上下浏览
- 键盘上下键:上下行;PageUp:上一页;PageDown/空格:下一页;退出:q(ctrl+c)
- head:从文件头部开始查看前n行内容,默认显示10行
- head -20 文件名:显示前20行
- tail:用法与head相同,显示后n行内容
- tail -f test.log 显示日志
- 软链接:类似于Windows下的快捷方式
- ln -s 文件名 快捷方式名
- ln -s 目录名 快捷方式名
- 软链接大小是路径总字节数,尽量使用绝对路径
- 硬链接
- ln 文件名 链接名
- 硬链接不能建立在目录上
- ls -i 文件名:查看文件i节点
- stat 文件名:查看i节点信息
- wc
- wc -l file:显示文件总行数
- wc -c file:显示文件总字节数
- wc -w file:显示文件总单词数
- wc file:显示文件行数,字节数,单词数
- whoami:显示当前登录的用户名
- chmod:文件权限控制
- chmod [u/g/o/a] [+/-/=] [r/w/x] 文件名
- u:文件拥有者;g:同组用户;o:其他用户;a:所有用户(默认)
- +:添加权限;-:取消权限;=:直接设定权限
- r:读;w:写;x:执行
- chomd ug+wr file.txt:给file.txt的拥有者及同组用户添加读写权限
- chmod [+/-/=] [mode] 文件名
- mode:0:没有权限;1:x;2:w;4:r
- chmod 664 file.txt:给file.txt设置rw-rw-r—权限
- chmod +111 file.txt:给所有用户添加对file.txt的执行权限
- chmod [u/g/o/a] [+/-/=] [r/w/x] 文件名
- chown
- chown ytl:ytl file.txt:将文件所有者设置为ytl,所属组设置为ytl
- chown ytl file.txt:只设置所有者
- chown :ytl file.txt:只设置所属组
- chgrap
- chgrap ytl file.txt:等同于chown :ytl file.txt
- find
- 按文件名查
- find 路径 -name “文件名正则”
- 按文件类型查
- find 路径 -type 类型(普通文件用f而不是-)
- 按文件大小查询
- find -size 范围
- find -size +100M:查找大于100M的文件
- find -size - 20k:查找小于20k的文件
- find -size 50c:查找大小为50字节的文件
- 按文件日期
- 创建日期:-ctime -n/+n
- -n:n天以内
- +n:n天以外
- 修改日期:-mtime
- 访问日期:-atime
- 创建日期:-ctime -n/+n
- 按深度
- maxdepth n:搜索层数不超过n
- mindepth n:搜索层数不低于n
- 高级查找
- find ./ -type d -exec shell {} \:搜索路径下所有文件夹,对搜索到的结果执行指定shell
- find ./ -type d -ok shell {} \:ok比exec安全(特别是rm时),会弹出操作询问
- find ./ -type d | xargs shell:管道执行与exexc类似,更适用于搜索结果集大时分页显示
- 按文件名查
- grep
- grep -r -i -n “hello” ./:递归寻找当前目录下,内容包含hello(忽略大小写)的文件,并显示行号
- -r:递归搜索,适用于文件夹
- -n:搜索结果显示行号
- -i:忽略大小写
- -v:不含有某些字符
- grep -r -i -n “hello” ./:递归寻找当前目录下,内容包含hello(忽略大小写)的文件,并显示行号
- find和grep合用
- find . -name “*.c” | xargs grep -n “main”:寻找.c结尾的文件中包含main的行
- tar
- z:用gzip压缩/解压文件
- j:用bzip2压缩/解压文件
- c:创建tar包,与x互斥
- x:释放tar包,与c互斥
- v:打印出操作文件的详细信息
- f:指定文件名字
- t:查看压缩包中有些文件
- 常用参数组合
- tar cvf file.tar file:打包
- tar zcvf file.tar.gz file:打包压缩成gzip格式
- tar jcvf file.tar.bz2 file:打包压缩成bz2格式
- tar xvf file.tar.gz:解压到当前文件夹
- tar zxvf file.tar.gz:解压到当前文件夹
- tar jxvf file.tar.bz2:解压到当前文件夹
- tar zxvf file.tar.gz -C 解压目录:解压到指定目录
- tar -tvf file.tar.gz:查看压缩包中有哪些文件(v:详情信息 )
- apt-get
- 软件安装:sudo apt-get install 软件名
- 软件卸载:sudo apt-get remove 软件名
- 更新软件列表:sudo apt-get update
- 清理安装包:sudo apt-get clean
- dpkg
- 软件安装:sudo dpkg -i xxx.deb
- 软件卸载:sudo dpkg -r 软件名
