cp命令:cp -r 复制目录的必选项
cat命令:cat file1 file2 > file3 将file1和file2合并到file3中 如果没有file3则会自动创建file3
ln命令:ln -s 创建的是软连接
chmod命令:chmod [ugo][+-=][rwx] 文件或目录
- chmod u+x file 给file的属主增加执行权限
- chmod 751 file 给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
- chmod u=rwx,g=rx,o=x file 上例的另一种形式
- chmod =r file 为所有用户分配读权限
- chmod 444 file 同上例
- chmod a-wx,a+r file 同上例
which:查看命令的路径或是别名信息
whatis:查看命令的作用
find命令
find 命令格式:find pathname -options [-print -exec -ok...]
pathname表示find命令所查找的文件或目录的路径。例如:/home/tools/tongyan
-print: find命令将匹配的文件输出到标准输出。
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。
-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
find常用命令格式:
-name filename #查找名为filename的文件
-perm #按执行权限来查找
-user username #按文件属主来查找
-group groupname #按组来查找
-mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime -n +n #按文件访问时间来查GIN: 0px">
-nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer f1 !f2 # 找文件,-n指n天以内,+n指n天以前
-ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-newer f1 !f2 #查更改时间比f1新但比f2旧的文件
-type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size n[c] #查长度为n块[或n字节]的文件
-depth #使查找在进入子目录前先行查找完本目录
-fstype #查更改时间比f1新但比f2旧的文件
-fstype #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
-mount #查文件时不跨越文件系统mount点
-follow #如果遇到符号链接文件,就跟踪链接所指的文件
-cpio #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
-cpio #对匹配的文件使用cpio命令,将他们备份到磁带设备中
-prune #忽略某个目录
tar命令
tar: 将多个文件打包成一个文件,扩展名是*.tar
-c:打包选项
-x:进行拆包
-v: 查看详细信息
-z:表示使用gzip进行解压缩
-j:表示使用bzip2进行解压缩
-J:表示使用xz进行解压缩
-f:用于指定压缩成的文件名
-t:查看压缩文件内的文件名
-C:表示指定解压缩的路径,
-p:打包时保留原属性 备份文件时常用选项
tar [z|j|J][cv][f] [目标文件名] [源文件名]
tar [z|j|J][xv][f] [源文件名]
软件包管理机制rpm
1、查询是否安装了某款软件
rpm -qa | grep keyword
2、卸载程序:
rpm -e 软件名称
--nodeps:强制卸载程序
rpm -e --nodeps 软件名称
3、安装程序
rpm -ivh *.rpm
-i:安装
-v:详情
-h:进度条
4、rpm安装默认位置
/usr/bin:软件的二进制文件存储位置
/usr/etc/:软件的配置文件存储位
/usr/share/:软件的文件
/usr/lib/:软件的动态资源库
设置为只读变量 readonly [变量名]:不能再修改值
删除变量 unset [变量名]: 只读变量不能被删除
read命令
用于给变量进行录入值,相当于Java中的Scanner
read [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]
参数说明:
- -a 后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分割符。
- -d 后面跟一个标志符,其实只有其后的第一个字符有用,作为结束的标志。
- -p 后面跟提示信息,即在输入前打印提示信息。
- -e 在输入的时候可以使用命令补全功能。
- -n 后跟一个数字,定义输入文本的长度,很实用。
- -r 屏蔽\,如果没有该选项,则\作为一个转义字符,有的话 \就是个正常的字符了。
- -s 安静模式,在输入字符时不再屏幕上显示,例如login时输入密码。
- -t 后面跟秒数,定义输入字符的等待时间。
- -u 后面跟fd,从文件描述符中读入,该文件描述符可以是exec新开启的。
数组
shell脚本中只支持一维数组。长度没有限制。访问元素也使用下标,下标也是从0开始。
1、定义:
arr=(元素1 元素2 元素n)
注意:元素之间使用空格分开,也可以使用换行符分开
arr[0]=
arr[1]=
....
arr[n]
2、使用
- ${变量名[index]} 获取index下标上的元素
- ${变量名[@]}: 打印数组元素
- ${变量名[*]}
- ${#变量名[*]} 返回数组长度
- ${#变量名[@]}