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