常用的shell命令(bash解释器)
1、目录、文件相关
常见目录
/bin
—存放二进制(binary)可执行程序或脚本文件/sys
—存放和系统(system)相关的文件/dev
—存放设备(device)文件/etc
—存放配置文件或启动脚本/lib
—存放系统库(libraries)文件/home
—普通用户的主目录/root
—特权用户的家目录/proc
—存放进程(processes)相关的数据/var
—存放j经常变化(variable)的文件,比如日志文件/sbin
—存放系统重要的二进制文件/boot
—存放启动(boot)配置文件,包含引导加载程序相关的文件/tmp
—存放临时(temporary)文件,重启时都会被删除/usr
—包含绝大部分用户都能访问的可执行程序和文件
①创建目录、文件、链接
mkdir [option]… directory… — make directory
选项:
-m,–mode==MODE —在创建目录时设置手动设置权限
-p,–parents ----创建多级目录时,若上一层目录不存在不会报错,而是会先创建上层目录
-v,–verbose —打印创建目录的过程信息
echo [string]… — display a line of text
配合重定向符可以创建一个新文件,并在新文件的开头插入一行字符串
touch file… — change file tiemestamps
如果文件不存在则可以直接创建文件
ln file h_linkname —给file创建硬链接
ln -s file s_linkname —给file创建符号链接
②删除目录、文件
rmdir [option]… directory… — remove empty directories
选项:
-p,–parents ----删除多级目录时,若下一层目录存在时不会报错,而是会先删除下层空目录
-v,–verbose —打印删除空目录的过程信息
rm [option]… [file]… —remove files or directories
选项:
-r,-R,–recursive —递归删除目录,包括目录下面的文件
-d,–dir —删除空目录
-v,verbose —打印删除过程信息
-i —每一个删除项都提示是否删除
-f,–force —忽略不存在的文件和参数,并且不会有任何提示
③移动文件、目录
mv [option]… [-T] source dest —rename source to dest
mv [option]… source… directory —move source(s) to directory
选项:
-f,–force —如果文件存在,不会提示是否覆盖
-i,–interaction —如果文件存在,提示是否覆盖
-n,–no-clobber —如果文件存在,不会覆盖(默认会直接覆盖)
-T,–no-target-directory —显示指定dest是一个文件而不是目录
④复制文件、目录
cp [option]… [-T] source dest —copy source to dest
cp [option]… source… directory —copy multiple source(s) to directory
选项:
-i,–interaction —如果文件存在,提示是否覆盖
-n,–no-clobber —如果文件存在,不会覆盖(默认会直接覆盖)
-r,-R,–recursive —递归复制目录
-T,–no-target-directory —显示指定dest是一个文件而不是目录
⑤查看当前路径
**pwd ** —print name of current/working directory
⑥查看目录内容
ls [option]… [file]… —list directory contents
选项:
-a,–all —显示目录内容,包括隐藏内容
-l —使用长格式展示目录内容
-h,–human-readable —以人类可读的方式显示文件的大小,和 -l 配合使用
-i,–inode —打印inode编号,inode编号是物理文件的唯一标识
tree —list contents of directories in a tree-like format
⑥改变当前工作路径
cd [directory] —change the working directory
常见路径
- 无:改变到家目录
- .:改变到当前目录
- …:改变到上一层目录
- ~:改变到家目录
- /:改变到根目录
- -:改变到上一次的目录
⑦查找文件
which [option] filename… —locate a command
选项:
-a —根据path环境变量依次查找,并罗列出所有匹配的路径
env —打印出当前环境变量
find [starting-point…] [expression] —search for files in a directory hierarchy
选项:
-name “pattern” —查找文件名符合pattern的文件
-type {b,c,d,p,f,l,s} —按照类型查找
-size n[cwbkMG] —按照文件大小精确查找,n前面加±表示大于和小于,文件的大小向上取整
-empty —查找空的文件和文件夹,空文件夹大小不等于0
-user username,-uid uid —根据用户名和用户id查找
-group groupname,-gid gid --根据组名和组id查找
-perm mode --根据权限查找
-a,-o,!:表示与,或,非,用于组合查找
⑧查看文件
cat [option]… [file]… —concatenate files and print on the standard output
选项:
-n,–number —对每一行进行编号
head [option]… [file]… —output the first part of files
选项:
-n,–line=[-]num —显示前n行,若加 - 则显示除了最后num行的所有行
tail [option]… [file]… —output the first part of files
选项:
-n,–line=[+]num —显示后n行,若加 + 则显示除了开头num行的所有行
-F —显示后面追加的数据。一般用于查看日志文件
more file… —单页浏览文件
操作:
f(forward) —下一页
b(backword) —上一页
:n(next) —下一个文件
:p(previous) —上一个文件
q(quit) —退出
wc [option]… [file]… —print newline,word,and bety counts for each file
选项:
-c,–bety —打印字节数量
-m,–chars —打印字符数量
-l,–lines —打印行数
-w,–words —打印单词数
⑨搜索文件内容
grep [option] pattern [file]… —print lines matching a pattern
选项:
-E,–extended-regexp —使用扩展的正则表达式
-i,–ignore-case —忽略大小写
-v,–invert-match --显示不匹配正则表达式的行
-n,–line-number —显示行号
-c,–count —不显示匹配的行,显示匹配的个数
⑩改变文件属性
umask [mode] —若不加参数则查看当前的文件创建掩码,有参数则将掩码修改
chmod [ugoa] [+=-] [rwx] file/dir
含义:
u --user
g —group
o —other
a —all
+添加权限
-删除权限
=将权限设置为
chmod mode file/dir —直接更改文件或文件夹的权限
2、其他命令
①远程复制(局域网内)
scp [option] src… dest —secure copy (remote file copy progrem)
选项:
-r —递归复制整个目录
本地路径:绝对路径或相对路径
远程路径:username@ip:绝对路径
②打包压缩
tar [主选项+辅选项] 包名 [文件或目录]…
主选项:
c —创建
r —追加
x —释放
辅选项:
f —指定包文件的名称
v —显示详细信息
z —使用gzip算法压缩或解压缩
③别名
alias —查看所有的别名
alias h=‘history’ —设置别名
设置的别名只在本次连接中生效,只有修改配置文件才可以永久生效,~/.bashrc