cd
cd - //返回上一个目录
cd ~ //进入home目录
ls
ls -a
ls -lt 按时间顺序
ls -ltr 按时间反序
ll
cp
cp file1 file2
cp -rf src dest --拷贝目录 -r 包含子目录
mv
移动或重命名
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。
mv test.log test1.txt --文件改名 test.log改为 test1.txt
mv test1.txt dir --移动文件到dir目录
mv dir1 dir2 --目录移动 如果目录dir2不存在,将目录dir1改名为dir2;否则,将dir1移动到dir2中。
mv * ../ --移动当前文件夹下的所有文件到上一级目录
rm
删除文件及文件夹
rm -rf *
-r 递归删除,可删除子目录及文件
-f 强制删除
find
find 在文件系统中搜索某文件
find pathname -options [-print -exec -ok ...]
find . -name ul_pwrm* // 在当前目录. 下寻找 以ul_name 打头的文件 ,并将所在目录输出到terminal
find . -name *.vhd //找当前目录下所有的vhd文件
find 找文件名 grep找文件内容
find . -name '*.vhd' -print //找当前目录下所有的vhd文件 含子目录
find pathname -options [-print -exec -ok ...]
-mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-type 查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
s - socket文件
在clearcase的所有版本中搜索关键词
cd file_name@@ //会把所有版本 label 分支的文件都显示出来
find . -type f | xargs grep
grep
搜索范围只能是当前目录,及子目录
grep -ri 'pattern' ./ --常规使用方法 -r 搜索子目录 -i忽略大小写
grep -v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
grep pattern1 | pattern2 filenames :显示匹配 pattern1 或 pattern2 的行
grep -ri 'Service Unavailable|Service Degraded|Calibration Failure' .
grep -rl pattern /usr/* --搜索子目录,仅列出文件名
grep -r pattern /usr/* --搜索子目录,列出行的内容
grep -r 'pattern' ./design_libs/ ./result.txt --将结果存入result
grep管道
grep -ri ‘pattern1’ | grep -v ‘pattern2’ -
下面还有一些有意思的命令行参数:
grep -i pattern files :不区分大小写地搜索,默认情况区分大小写,
grep -l pattern files :只列出匹配的文件名,
grep -L pattern files :列出不匹配的文件名,
grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),
grep -C number pattern files :匹配的上下文分别显示[number]行,grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,
grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。
grep -n pattern files 即可显示行号信息
grep -c pattern files 即可查找总行数
假设您正在’/usr/src/Linux/Doc’目录下搜索带字符 串’magic’的文件:$ grep magic /usr/src/Linux/Doc/sysrq.txt: How do I enable the magic SysRQ key?sysrq.txt:* How do I use the magic SysRQ key?其中文件’sysrp.txt’包含该字符串,讨论的是 SysRQ 的功能。默认情况下,’grep’只搜索当前目录。如果 此目录下有许多子目录,’grep’会以如下形式列出:
grep: sound: Is a directory这可能会使’grep’ 的输出难于阅读。这里有两种解决的办法:明确要求搜索子目录:grep -r或忽略子目录:grep -d skip
如果有很多 输出时,您可以通过管道将其转到’less’上阅读:$ grep magic /usr/src/Linux/Documentation/* | less这样,您就可以更方便地阅读。
我们可以通过管道操作来让grep变得更强大,管道操作就是把前面一条命令的输出作为后面一条命令的输入,从而把很多简单的命令组合起来完成复杂的功能。例如,如果我们想查找包含apple的行,但又想过滤掉pineapple,可以用下面的命令:
grep apple fruitlist.txt | grep -v pineapple
如果我们想把搜索结果保存起来,那么可以把命令的标准输出重定向到文件:grep apple fruitlist.txt | grep -v pineapple > apples.txt
hitory
history --历史上使用过的命令
!! 重复执行上一次命令
!12 --重复执行第12条
!str --重复执行最近一条以字符串str开头的命令;
!?str? --重复执行最近一条包含字符串str的命令;
chmod
chmod 755 files
chmod 777 files
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本
范例 :将档案 file1.txt 设为所有人皆可读取 :
chmod ugo+r file1.txt
将档案 file1.txt 设为所有人皆可读取 :
*chmod a+r file1.txt *
将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
chmod ug+w,o-w file1.txt file2.txt
将 ex1.py 设定为只有该档案拥有者可以执行 :
chmod u+x ex1.py
将目前目录下的所有档案与子目录皆设为任何人可读取 :
chmod -R a+r *
此外chmod也可以用数字来表示权限如 chmod 777 file
语法为:
chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=7。
范例:
chmod a=rwx file
和
*chmod 777 file *
效果相同
chmod ug=rwx,o=x file
和
*chmod 771 file *
效果相同
若用chmod 4755 filename可使此程序具有root的权限
让其他人拷贝,设置成744
第1字段
文件属性字段总共有10个字母组成;第一个字符代表文件的类型。-文件 d目录
第1字符的后面9个字母表示该文件或目录的权限位。
r表是读 (Read) 、w表示写 (Write) 、x表示执行 (eXecute)
其中前三个表示文件拥有者的权限,中间三个表示文件所属组拥有的权限,最后三个表示其他用户拥有的权限。
第2字段:文件硬链接数
第3字段:文件(目录)拥有者
第4字段:文件(目录)拥有者所在的组
第5字段: 文件所占用的空间(以字节为单位)
第6字段:文件(目录)最近访问(修改)时间
绿色的表示开权限有x,蓝色表示目录,红色代表压缩包
文件名后加*代表可执行,即x;
文件名后~ 代表缓存文件,类似于ultraedit中产生的.bak文件
tar
tar -zcvf filename.tar.gz path
tar -zxvf filename.tar.gz -C path
tar -cvf file2.tar /home/usr2/file2
tar -xvf file2.tar -C /home/usr2
压缩:tar -jcv -f filename.tar.bz2 要被壓縮的檔案或目錄名稱
查 詢:tar -jtv -f filename.tar.bz2
解壓縮:tar -jxv -f filename.tar.bz2 -C 欲解壓縮的目錄
tar -zcvf filename.tar.gz
tar -zxvf filename.tar.gz
-j :透過 bzip2 的支援進行壓縮/解壓縮:此時檔名最好為 *.tar.bz2
-z :透過 gzip 的支援進行壓縮/解壓縮:此時檔名最好為 *.tar.gz
tar -jxv -f /root/etc.tar.bz2 -C /tmp
-C 目錄 :這個選項用在解壓縮,若要在特定目錄解壓縮,可以使用這個選項。
bzip2 比gzip的压缩比例更高
tar -cvf file2.tar /home/usr2/file2
该命令可以将/home/usr2/file2文件打包到当前目录下的file2.tar中,需要注意的是:使用绝对路径标识的源文件,在用tar命令压缩后,文件名连同绝对路径(这里是home/usr2/,根目录'/'被自动去掉了)一并被压缩进来。使用tar命令解压缩后会出现以下情况:
tar -xvf file2.tar
ls
解压缩后的文件名不是想象中的file2,而是home/usr2/file2。
tar -cvf file2.tar -C /home/usr2 file2
该命令中的-C dir参数,将tar的工作目录从当前目录改为/home/usr2,将file2文件(不带绝对路径)压缩到file2.tar中。注意:-C dir参数的作用在于改变工作目录,其有效期为该命令中下一次-C dir参数之前。
使用tar的-C dir参数,同样可以做到在当前目录/home/usr1下将文件解压缩到其他目录,例如:
tar -xvf file2.tar -C /home/usr2
而tar不用-C dir参数时是无法做到的:
tar -xvf file2.tar /home/usr2
tar: /tmp/file: Not found in archive
tar: Error exit delayed from previous errors
tar -xvf file2.tar -C /home/usr2
-c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。相当于打包。
-x 从档案文件中释放文件。相当于拆包。
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加其他参数!
-v :压缩的过程中显示文件!这个常用
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩或解压? 一般格式为xx.tar.gz或xx. tgz
du
du -sh //查看磁盘空间大小
du -a //包括目录和文件
du -h --max-depth=1
du -s
重定向
- > 覆盖原有文件,如果没有则新建
- >> 追加输出到原有文件后