linux操作指令汇总
参考资料
linux命令大全
linux常用技巧:本文主要转载自该文章,略做删改。
指令优化
cd后立即ls
# 用于.cshrc文件
alias cd "cd \!*;ll"
# 用于.bashrc文件方法1:
cd() { builtin cd "$@" && ll; }
# 用于.bashrc文件方法2:
cdlist() {
cd "${1}"
ls
}
alias cd=cdlist
按下tab键显示出文件列表
输入cd指令后,用户习惯按tab键查看当前目录下有哪些文件夹,该功能需进行设置才能实现:
对于.cshrc文件:
set autolist
对于.bashrc,一般自带 autolist 功能。设置方法如下。
打开~/.inputrc文件,如果没有则创建。写入如下内容:
# 用于.inputrc文件:按tab键一次,即可显示文件列表
set show-all-if-ambiguous on
# 用于.inputrc文件:按tab键出现的文件列表里不显示隐藏文件
set match-hidden-files off
常用alias
有些自带的 Linux 命令不太方便,可以在 .cshrc 或 .bashrc 文件中添加 alias 命令,将命令改写,使得操作更加简便。
新建alias文件
# 用于.cshrc文件
if (-r $HOME/.alias) then
source $HOME/.alias
endif
# 用于.bashrc文件
if [-f $HOME/.alias]; then
source $HOME/.alias
fi
这样我们执行 source ~/.cshrc 或 source ~/.bashrc 时,就能顺带 source .alias 文件了。
.cshrc 和 .bashrc 区别
alias 在 .cshrc 和 .alias 的语法有些不同,区别如下所示:
# .cshrc文件或其绑定的.alias文件
alias g gvim
alias g 'gvim'
alias g "gvim"
# .bashrc文件或其绑定的.alias文件
# 等号前后不能有空格
alias g='gvim'
alias g="gvim"
常用alias
下面是几个常用的 alias,例如 ll 时,会以阿拉伯数字显示时间;rm、mv、cp时,会显示执行过程,可以判断系统是否卡死;tree时,树状图有颜色区分等。
alias g="gvim"
alias gt="gvim -p --remote-tab-silent"
alias la="ls -a"
alias ll="ls -lh --time-style=long-iso"
alias lla="ll -a"
alias .="cd ./"
alias ..="cd ../"
alias rm="del"
del()
{
\mv -f $@ ~/.Trash
}
alias mv="mv -i -v"
alias cp="cp -rf -v"
alias md="mkdir"
alias h="history"
alias ps="ps -Af"
alias df="df -k"
alias dusum="du -h -s"
alias duall="du -h --max-depth=1 --total"
alias cl="clear"
alias so="source ~/.bashrc"
alias grep="grep -n --color"
alias tree="tree -A -C"
alias gui="nautilus ."
标准linux命令整理
linux自带help使用
可通过如下方式查询某指令的使用方法:
#方法1
help cd
#方法2
man cd
man cat |tee man_cd.log //打印到文本中方便查看
#方法3
info cd
系统信息查询类指令
which
which 指令用于查找并显示某个命令的完整路径,它会在环境变量 PATH 所指定的目录中搜索指定命令的可执行文件,并返回其所在的路径。
语法:
which [选项] 命令名
常用选项:
- -a:显示所有匹配的命令路径,而不仅仅是第一个找到的路径。默认情况下,which 只显示找到的第一个匹配项。
- --skip-alias:不考虑别名,直接查找命令的实际可执行文件路径。
- --skip-functions:不考虑 shell 函数,只查找外部命令的路径。
实例:
//实例1---------
which ls
//执行该命令后,系统会在 PATH 环境变量指定的目录中搜索 ls 命令的可执行文件,并输出其完整路径:
/bin/ls
//实例2---------
which -a python
如果安装了两个版本的py,则输出会列出所有找到的路径:
/usr/bin/python
/usr/local/bin/python
echo
查询指令和环境变量。

env
查询所有系统全局变量。
set
查询所有系统全局变量、当前局部变量、用户自定义变量。
who
- rwho:查询局域网里所有主机的用户。
- -a:查看所有用户,包括闲置时间超过1个小时的用户。
- who -H:查询系统中所有的使用者。
- w:查看哪些用户登陆在线,同时显示用户当前的进程。
- whoami:查询当前使用的账户名。
- whois:查询指定账户的用户相关信息。
version
version 命令可以查询命令或工具的版本信息,语法是“命令 --version”或“命令 -V”。
磁盘查询类指令
du -h
- du 即 disk usage,查询当前目录下的文件存储情况,并将其写入到du.log文件中。
![]()
- du -h --max-depth=1 > ~/du_result.log:查询单曲目录下1层深度的文件存储情况,写到指定文件中。
df -h
ds 即 disk free,查询磁盘剩余容量。
free -h
查询磁盘容量。
查找类指令
find
find 命令用于查找指定的文件,会在屏幕上打印出匹配文件的路径。语法:
find [path] 参数。
- [path]:指定路径。
- 省略则表示指定为当前路径。
- 路径是类似 "."或 "..",则显示相对路径。
- -mtime:时间有关的选项。
- -mtime +7 :7天前被更动过内容的文件;
- -mtime -7:7天内被更动过内容的文件;
- -name:
- -name "文件名”:查找指定 path 及其子目录下的所有指定文件,支持 * 和 ? 进行模糊匹配。
- -iname "文件名":不区分大小写。
- ! -name "文件名”:排除掉某文件名
- -maxdepth:指定查询的目录深度,必须放在 path 后的第一个参数位。
- -exec:额外的动作
- find . -name "*.rc" -exec ls {} ;
- -exec 开头,; 结尾,{}代替前面查找到的内容。
- 运算符:
- 与 -and:expr1 -and expr2,两个都要符合,很少用。
- 或 -or:-name ".v" -or -name ".sv"来生成 filelist。
- 非 -not:-not -name "文件名”:排除掉某文件。
![]()
grep
grep 命令用于查找文件里的字符,会在屏幕上打印出匹配字符的那行文本。语法:
grep 字符 [path]。
- [path]:指定路径,加了-r后可以省略,省略则表示指定为当前路径。
- -r:递归查找指定path及其子目录下的所有文件。
- -i:不区分大小写。
- -n:打印出匹配行的行号。
- -l:只打印匹配的文件名。
- -v:反向查找,只打印不匹配的行。
- -E "字符a|字符b":查找字符a或字符b,符号 | 前后不能有空格。
![]()
我想先用 find 命令查找到所需文件,然后在这些文件里查找所需字符在哪里,那么 find 命令和 grep 命令结合可以达到效果。方法是采用命令”|xargs“,解释见上文说明。
![]()
当使用多个参数时,可进行简写,例如:
grep -n -r key_word dir_x
可简写成
grep -nr key_word dir_x
wc
wc 命令用于统计文件的行数、单词数、字节数、字符数等。语法:wc [参数] path
- -l:行数
- -c:字节数
- -m:字符数
- -w:单词数
# 统计test.txt文件中带有 xxx 字符的关键字有多少行?
cat test.txt | grep xxx | wc -l
# 统计 test.txt文件中有多少个 xxx 字符?
cat test.txt | grep xxx | wc -w
进程控制指令
查看进程指令
使用 ps 命令
ps可以显示所有用户的进程信息,而不仅仅是当前会话。
- -a:显示所有进程,包括其他用户的进程和无终端进程。
- -u:以用户为基础显示进程,包括用户、进程号、CPU 占用、内存占用等信息。
- -x:显示无控制终端的进程,如守护进程等。
- -e:显示所有进程,类似-a。
- -f:显示进程的详细信息。
- 组合1:ps -aux | grep my_script.sh: 显示指定进程。(显示子进程PID)
- 组合2:ps -ef | grep my_script.sh:显示指定进程及其父子进程之间的关系。(显示子进程PID和父进程PPID)
- 若要查看所有与 Vivado 相关的进程,可以使用如下命令:
ps -ef | grep vivado
- -ef:以完整格式显示所有进程信息。
- grep vivado:过滤出包含 “vivado” 关键字的进程信息。
使用 top 或 htop 命令
top 命令:top 是一个动态显示进程信息的命令,会实时更新系统中各个进程的资源使用情况。你可以在 top 界面中按 / 键,然后输入 “vivado” 来查找相关进程。输入 q 可以退出 top 界面。
top
htop 命令:htop 是 top 的增强版,提供了更直观的界面和更多的交互功能。若系统中未安装 htop,可以使用包管理器进行安装(例如在 Ubuntu 上使用 sudo apt-get install htop)。使用方法和 top 类似。
htop
杀进程指令
kill 进程号
可以使用 kill 命令向该进程发送终止信号。一般先尝试使用 SIGTERM 信号(默认信号,编号为 15),让进程有机会正常退出
kill -9 进程号
如果 kill 命令无法终止进程,可能是进程已经陷入了无响应状态。这时可以使用 kill -9 命令,向进程发送 SIGKILL 信号(强制终止信号,编号为 9)
pkill命令可以根据进程名直接终止相关进程,无需手动查找 PID。例如,若要关闭所有 Vivado 进程,可以使用以下命令:
pkill -f vivado
- -f 选项表示匹配进程名和命令行参数。
解压和压缩
tar
# 打包文件(tar默认只打包不压缩)
tar -cvf test.tar ./test # 得到test.tar备份文件
# 参数-z:打包后进行gzip压缩
tar -zcvf test.tar.gz ./test # 得到test.tar.gz备份文件
# 参数-j:打包后进行bzip2压缩
tar -jcvf test.tar.bz2 ./test # 得到test.tar.bz2备份文件
# 删除打包文件中的指定文件
tar -vf test.tar --delete ./a.txt
# 查看打包文件中的文件
tar -tvf test.tar # 列出文件,包括文件信息
zip
# 压缩文件,参数-r表示递归
zip -r test.zip ./test
# 解压文件,参数-d指定目录,可省略
unzip -d ~/zip_test/ test.zip
# 删除压缩包中的指定文件
zip -d test.zip a.txt
# 添加新文件到压缩包中
zip -m test.zip ./a.txt
# 查看压缩包中的文件信息
zipinfo test.zip
工具打开
打开 Word
openoffice.org
打开 Excl
soffice
soffice3
libreoffice
openoffice.org
打开 PDF
acroread
evince
firefox(推荐)
打开图片
display
eog
其他常用命令
cp:
基本语法为 cp [选项] 源文件或目录 目标文件或目录
- 基本文件复制
复制单个文件:将源文件复制到目标位置,可重命名。如 cp a.txt b.txt ,把 a.txt 复制为 b.txt ;cp a.txt dir/ ,将 a.txt 复制到 dir 目录下,文件名不变。
复制多个文件到目录:cp file1.txt file2.txt dir/ ,把 file1.txt 和 file2.txt 复制到 dir 目录中。 - 目录复制
-r 或 -R(recursive):递归复制目录及其内容。例如 cp -r sourcedir targetdir ,将 sourcedir 目录及其子目录、文件复制到 targetdir 。若 targetdir 不存在会创建;若存在且是目录,则在其下创建与 sourcedir 同名目录存放内容。 - 覆盖提示与强制操作
-i(interactive):覆盖目标文件前提示确认。如 cp -i a.txt b.txt ,若 b.txt 已存在,会询问是否覆盖 。
-f(force):强行复制文件或目录,无论目标是否存在,覆盖时不提示。cp -f a.txt b.txt ,直接用 a.txt 覆盖 b.txt 。 - 保留属性
-p(preserve):保留源文件或目录的属性,如权限、所有者、时间戳等。cp -p a.txt b.txt ,b.txt 会保留 a.txt 的属性。
-a(archive):归档模式,相当于同时使用 -dpr (-d 保留符号链接属性 ,-p 保留属性,-r 递归复制),递归复制目录并保留所有文件属性。cp -a dir1 dir2 ,复制 dir1 到 dir2 ,且保留所有属性。 - 链接相关
-l(link):对源文件建立硬链接,而非复制文件内容。cp -l a.txt link.txt ,创建 a.txt 的硬链接 link.txt ,二者共享相同 inode 。
-s(symbolic - link):对源文件建立符号链接(软链接),而非复制文件内容。cp -s a.txt soft_link.txt ,创建 a.txt 的软链接 soft_link.txt ,类似 Windows 快捷方式。 - 其他
-u(update):仅当源文件的修改时间比目标文件新,或目标文件不存在时,才进行复制。cp -u a.txt b.txt ,若 b.txt 存在且更新时间比 a.txt 新,不会复制。
-v(verbose):显示详细的复制过程,输出每个文件的复制信息。cp -v a.txt b.txt ,会显示类似 ‘a.txt’ -> ‘b.txt’ 的信息。
tree:
树状图查看目录结构。
- -L:目录深度。
- -C:文件夹和文件标以不同颜色。
- -A:以ASCII码显示,样子好看些。
cat:
直接在Terminal上显示指定文件的内容。
- -n:指定显示的行数
rename a b *.v:
文件a重命名为b,范围是所有 *.v 文件。
如果本来就存在文件b,则文件b内容会被覆盖。
tail:
查看文件尾部内容,跟踪文件的最新更改。
- -f:持续跟踪(ctrl+c停止)。
- -num:查看尾部多少行,如-7(不填则默认10行)。





浙公网安备 33010602011771号