Linux常用操作
Linux常用操作
仅为针对自己工作中常用命令进行总结记录。
包括常用命令及知识
定制指令
.bashrc是home目录下的一个shell文件,用于储存用户的个性化设置。在bash每次启动时都会加载.bashrc文件中的内容,并根据内容定制当前bash的配置和环境。
在 shell启动文件~/.bashrc中添加一些定制指令:
1 | alias gv="gvim" |
也可在~/.bashrc设置环境变量,如:
1 | export VERDI_HOME=/home/synopsys/verdi/Verdi_O-2018.09-SP2 |
配置完成~/.bashrc文件后,通过source ~/.bashrc命令使其立即生效(只针对这个terminal)
常规命令
- 终端字符
$:普通用户
#:root用户

- 目录切换cd(change directory)
pwd:显示当前路径
cd ~:进入home目录
cd ..:进入上一层目录,(定制为..)
cd dir:进入dir目录,绝对路径。相对路径以./开始
- 目录操作
mkdir [dir_name]:新建目录
rmdir [dir_name]:删除目录
tree -L 3:按树显示文件目录,展开3级
文件操作
- 文件查看(list)
ls [option] [dir]:显示dir目录下文件,默认为当前目录。
ls -a:显示所有文件(当前目录)。
ls -l:显示文件详细信息,包括权限、日期、大小等(定制为ll)。
-t :将按照修改时间排序,最新的文件在最前面。
很多命令可以使用通配符:
* :代表所有,如*.txt表示所有txt后缀文件;/home/later/work/*表示/home/later/work/目录下所有内容。
- 文件复制(copy)
cp [src dir] [des dir]
-f:强行复制文件或目录,不论目标文件或目录是否已存在。
-r:递归处理,将指定目录下的所有文件与子目录一并处理。
常用:cp -rf dirA dirB ,将dirA所有文件递归复制到dirB。
cp /a/ /b
cp /a/* /b
- 移动(move)
mv [src dir] [des dir]
同目录移动,仅改变名称就是重命名。
- 删除(remove)
rm -rf [dir]
-f :强制删除文件或目录
-i :删除已有的文件或目录之前先询问用户
-r :递归处理,将指定目录下的所有文件与子目录一并处理
- 查看文件
cat [filename]:将文件内容打印在终端上
gvim [filename]:使用gvim打开文件
>>:重定向到指定文件,可以接在任何有终端输出的命令后。
压缩解压缩
1 | *.tar // tar程序打包产生的文件 |
- 打包、压缩/解压缩
将多个文件打包成一个文件,不进行压缩,保证传输可靠,后缀为tar。
参数意义:(cx是相对的,加上zj则调用gzip和bzip2程序进行压缩解压缩,f是指定已有/待生成压缩文件)
-c: 建立新的压缩文件
-x: 从压缩的文件中提取文件
-z: 支持gzip解压文件
-j: 支持bzip2解压文件
-v: 显示操作过程
-f: 指定压缩文件
tar -cvf new.tar a.txt b.txt:将两个txt文件打包为new.tar
tar -xvf new.tar a.txt b.txt:将new.tar解包
tar -zcvf new.tar.gz ./a/:将a目录打包并压缩
tar -zxvf new.tar.gz ./test:将文件解压到test目录下
zip/unzip:
zip -r new.zip ./a/:将目录a下所有文件递归压缩为new.zip文件
unzip a.zip [-d dir]:解压a.zip到当前[dir]目录
查找命令
- 查找文件(find)
find [路径] [选项] [操作]
常用选项有:
name:根据文件名查找
find [dir] -name [filename]:知道文件名,进行查找。
find [dir] -name [*na*]:知道部分文件名,使用通配符进行查找。

- 查找文件内容(grep)
grep [options] [pattern] file
从文本文件或管道数据流中筛选匹配的行和数据,可以再配合正则表达式进一步筛选,将符合内容打印出来。
options参数:
-c:只输出匹配行的计数。
-i:不区分大小写。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及 行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
–color=auto :可以将找到的关键词部分加上颜色的显示。
pattern正则表达式主要参数:正则表达式:要学,不详述。
\: 忽略正则表达式中特殊字符的原有含义。
^:匹配正则表达式的开始行。
$: 匹配正则表达式的结束行。
<:从匹配正则表达 式的行开始。
>:到匹配正则表达式的行结束。
[ ]:单个字符,如[A]即A符合要求 。
[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
.:所有的单个字符。
*:所有字符,长度可以为0。
示例:
cmd | grep "size" -in:(cmd的输出会给到后一个指令)在cmd输出的内容中找”size“,i部分大小写,n显示行号。
grep "vcs" -in Makefile:在Makefile文件里查找”vcs“字段。

权限相关
* 文件权限(chmod)
看chmod前先看下ll命令的显示内容:
调用权限分为三级 : 档案拥有者(u,user)、群组(g,group)、其他 (o,others),三级所有则是(a,all)。这和赋予权限的对象是对应的。
第1列表示文件类型,d表示目录,-表示常规文件,l表示连接文件。
第2+9列表示三级享有权限情况,r表示read权限,w表示write权限,x表示执行权限,-表示无此项权限。rwx-对应数值为4210。
第

用户权限
+:追加某个权限
-:删除某个权限
=:赋予权限
常用示例:
chmod -R 777 [dir]:递归给dir目录下给三级权限都设置为可读可写可执行。
chmod u+x [filename]:给user的filename文件给追加执行权限。
权限设置还是按需设置比较好。
文件比较
这个开发中还是比较常用的
diff、bcompare、meld都可以,个人喜欢bcompare
windows下还有bcompare、winmerge
