常用的 Linux 命令行

本文转载自:Linest-5的CSDN博客

写在前面

在 Linux 系统中,在众多的指令中,对于 FPGA/IC 开发设计人员来说,使用指令最多的就是对文件和目录进行操作,比如打开文件,复制文件,返回上一级目录等,对于大量的文件操作时,使用命令可以带来极大的便利,以下为常用的指令。

一、查看信息指令

1、df——查看磁盘驱动器的可用空间

[ICer@IC_EDA /home/ICer]$df
文件系统                    1K-块      已用      可用 已用% 挂载点
devtmpfs                  3978080         0   3978080    0% /dev
tmpfs                     3995024         0   3995024    0% /dev/shm
tmpfs                     3995024     12884   3982140    1% /run
tmpfs                     3995024         0   3995024    0% /sys/fs/cgroup
/dev/mapper/centos-root  20961280   8496096  12465184   41% /
/dev/sda1                 1038336    187936    850400   19% /boot
/dev/mapper/centos-home 323923456 139358884 184564572   44% /home
tmpfs                      799008        44    798964    1% /run/user/1000

2、free——显示可用内存

[ICer@IC_EDA /home/ICer]$free
              total        used        free      shared  buff/cache   available
Mem:        7990052     1544836     5073192       46120     1372024     6093288
Swap:      10481660           0    10481660

二、常用操作指令

1、pwd——查看当前目录

[ICer@IC_EDA /home/ICer/rtl/dir1]$pwd
/home/ICer/rtl/dir1

2、cd——改变目录

cd:change directory,即改变目录。使用 cd 命令可以改变目录;输入 cd + 目标目录的路径名即可跳转至目标目录。

路径名分为两种:

  • 绝对路径名

  • 相对路径名

绝对路径名

绝对路径名从根目录开始,包含着直到目标目录的所有路径。

相对路径名

相对路径名则是从当前的工作目录开始,通常会用特殊符号表示其相对位置,比如 “.”表示当前工作目录,”..“表示当前工作目录的父目录。

下面以分别使用绝对路径和相对路径进行工作目录的跳转

绝对路径

[ICer@IC_EDA /home/ICer/rtl/dir1]$pwd
/home/ICer/rtl/dir1
[ICer@IC_EDA /home/ICer/rtl/dir1]$cd /home/ICer/rtl
dir1  dir2  dir3

相对路径

[ICer@IC_EDA /home/ICer/rtl/dir1]$pwd
/home/ICer/rtl/dir1
[ICer@IC_EDA /home/ICer/rtl/dir1]$cd .. 
dir1  dir2  dir3

以上使用不同的指令但都跳转至 dir1 的目录下。

3、ls——列出目录内容

查看当前目录内容

[ICer@IC_EDA /home/ICer/rtl]$ls
dir1  dir2  dir3

查看指定目录的内容

[ICer@IC_EDA /home/ICer/rtl]$ls /usr
bin  etc  games  include  lib  lib64  libexec  local  sbin  share  src  tmp

查看多个目录的内容

其中~表示主目录

[ICer@IC_EDA /home/ICer/rtl]$ls ~ /usr
/home/ICer:
12       Code     log           Project  test   vim   模板  图片  下载  桌面
CDS.log  ic_prjs  Nuclei_Tools  rtl      Tools  公共  视频  文档  音乐
 
/usr:
bin  etc  games  include  lib  lib64  libexec  local  sbin  share  src  tmp

查看目录内容细节

[ICer@IC_EDA /home/ICer/rtl]$ls -l
总用量 0
drwxrwxr-x. 2 ICer ICer 6 10月 13 20:52 dir1
drwxrwxr-x. 2 ICer ICer 6 10月 13 20:52 dir2
drwxrwxr-x. 2 ICer ICer 6 10月 13 20:52 dir3

以下为 ls 指令搭配选项及含义

1.JPG4、file——确定文件类型

[ICer@IC_EDA /home/ICer/rtl]$file dir1
dir1: directory

5、切换 root/普通用户

切换成 root 用户指令

  • su

  • su root

  • sudo su

切换成普通用户指令

  • su 用户名

  • exit

  • ctrl+d

三、文件与目录操作指令

1、通配符

在对大量文件进行操作时,有时需要快速指定某些文件,利用通配符就可以更加便利的对文件进行操作。以下为常见的通配符号以及所选择的目标。

2.JPG示例

cd *:打开所有文件

[ICer@IC_EDA /home/ICer/rtl/dir1]$..
dir1  dir2  dir3
[ICer@IC_EDA /home/ICer/rtl]$cd *
[ICer@IC_EDA /home/ICer/rtl/dir1]$

cd do*:打开开头为 do 的文件

[ICer@IC_EDA /home/ICer/rtl/dir1]$..
dir1  dir2  dir3  doc
[ICer@IC_EDA /home/ICer/rtl]$cd do*
[ICer@IC_EDA /home/ICer/rtl/doc]$

cd do?:打开开头为 do ,后面跟一个字符的任一文件

[ICer@IC_EDA /home/ICer/rtl/doc]$..
dir1  dir2  dir3  doc
[ICer@IC_EDA /home/ICer/rtl]$cd do?
[ICer@IC_EDA /home/ICer/rtl/doc]$

2、mkdir——创建目录

mkdir 命令可以创建一个新的目录

比如在终端使用以下命令:

[ICer@IC_EDA /home/ICer/rtl]$mkdir dir1
[ICer@IC_EDA /home/ICer/rtl]$ls
dir1

也可以在一条命令中同时新建多个目录。

[ICer@IC_EDA /home/ICer]$cd rtl
[ICer@IC_EDA /home/ICer/rtl]$mkdir dir1 dir2 dir3
[ICer@IC_EDA /home/ICer/rtl]$ls
dir1  dir2  dir3

在文件夹中新建了三个分别名为 rtl1、rtl2、rtl3 的目录。

3、touch——更改文件的日期时间

touch 命令一般用于设定或是更新文件的修改时间。当文件名参数是一个不存在的文件时,那么该命令就会创建一个空文件。因此在平时我们使用 touch 命令最多的就是用来新建文件。

可以新建一个或多个新文件

[ICer@IC_EDA /home/ICer/rtl]$ls
dir2  dir3  doc
[ICer@IC_EDA /home/ICer/rtl]$touch file1
[ICer@IC_EDA /home/ICer/rtl]$ls
dir2  dir3  doc  file1
[ICer@IC_EDA /home/ICer/rtl]$touch file2 file3
[ICer@IC_EDA /home/ICer/rtl]$ls
dir2  dir3  doc  file1  file2  file3

相关指令

3.JPG4、cp——复制文件和目录

复制文件或目录到另一个文件或目录主要有两种形式

  • 将单个文件或目录复制到另一个文件或目录中

  • 将多个文件或目录复制到另一个文件或目录中

但是不支持将多个文件或目录复制到多个文件或目录中。

下面以一些常用的操作为例

cp file1 file2:将 file1 复制到 file2。如果 file2 存在,则会被 file1 的内容覆盖。如果 file2 不存在,则创建 file2。

[ICer@IC_EDA /home/ICer/rtl]$ls
file1
[ICer@IC_EDA /home/ICer/rtl]$cp file1 file2
[ICer@IC_EDA /home/ICer/rtl]$ls
file1  file2

cp –i file1 file2:和上一个的命令作用一样,只不过当 file2 存在时,覆盖之前会通知用户确认是否覆盖。

[ICer@IC_EDA /home/ICer/rtl]$cp -i file1 file2
cp:是否覆盖"file2"? 
[ICer@IC_EDA /home/ICer/rtl]$ls
file1  file2
[ICer@IC_EDA /home/ICer/rtl]$

cp file1 file2 dir1:将 file1 和 file2 复制到目录 dir1 里。dir1 必须已存在。

[ICer@IC_EDA /home/ICer/rtl]$mkdir dir1
[ICer@IC_EDA /home/ICer/rtl]$ls
dir1  file1  file2
[ICer@IC_EDA /home/ICer/rtl]$cp file1 file2 dir1
[ICer@IC_EDA /home/ICer/rtl]$cd dir1
file1  file2

cp dir1/ * dir2:通过使用通配符,将 dir1 中的所有文件复制的 dir2 中。dir2必须已存在。

[ICer@IC_EDA /home/ICer/rtl]$mkdir dir2
[ICer@IC_EDA /home/ICer/rtl]$ls
dir1  dir2  file1  file2
 
[ICer@IC_EDA /home/ICer/rtl]$cp dir1/* dir2
[ICer@IC_EDA /home/ICer/rtl]$cd dir2
file1  file2

cp –r dir1 dir2:将 dir1 目录整个一起复制到 dir2 目录中。如果 dir2 不存在,创建 dir2。

[ICer@IC_EDA /home/ICer/rtl]$mkdir dir2
[ICer@IC_EDA /home/ICer/rtl]$ls
dir1  dir2  file1  file2
 
[ICer@IC_EDA /home/ICer/rtl]$cp dir1/* dir2
[ICer@IC_EDA /home/ICer/rtl]$cd dir2
file1  file2

5、mv——移动和重命名文件

将单个文件或目录移动或重命名为另一个文件夹或目录。可以分为两种情况

①目标文件夹或目录存在:此命令为将文件或目录移动到另一个文件夹或目录中。

ICer@IC_EDA /home/ICer/rtl]$ls
dir1  dir2  dir3  doc
[ICer@IC_EDA /home/ICer/rtl]$mv dir1 dir2
[ICer@IC_EDA /home/ICer/rtl]$ls
dir2  dir3  doc
[ICer@IC_EDA /home/ICer/rtl]$cd dir2
dir1

②目标文件夹或目录不存在:此命令为将文件或目录重命名为另一个文件夹或目录的名字。

[ICer@IC_EDA /home/ICer/rtl]$ls
dir1  dir2  dir3  doc
[ICer@IC_EDA /home/ICer/rtl]$mv dir1 dir4
[ICer@IC_EDA /home/ICer/rtl]$ls
dir2  dir3  dir4  doc

将多个文件夹或目录移动到另一个文件夹或目录中。目标文件夹或目录必须存在

[ICer@IC_EDA /home/ICer/rtl]$ls
dir1  dir2  dir3  doc
[ICer@IC_EDA /home/ICer/rtl]$mv dir1 dir2 dir3 doc
[ICer@IC_EDA /home/ICer/rtl]$ls
doc
[ICer@IC_EDA /home/ICer/rtl]$cd doc
dir1  dir2  dir3

总结

4.JPG6、rm——删除文件和目录

rm 命令用于删除文件和目录,并且此操作不可撤销。

[ICer@IC_EDA /home/ICer/rtl]$ls
dir1  dir2  dir3  doc  file1  file2
[ICer@IC_EDA /home/ICer/rtl]$rm file1
[ICer@IC_EDA /home/ICer/rtl]$ls
dir1  dir2  dir3  doc  file2

如果想要删除文件夹或目录,可以在 rm 命令后加 -rf 后跟文件夹或目录名。

[ICer@IC_EDA /home/ICer/rtl]$ls
dir1  dir2  dir3  doc  file2
[ICer@IC_EDA /home/ICer/rtl]$rm -rf dir1
[ICer@IC_EDA /home/ICer/rtl]$ls
dir2  dir3  doc  file2

总结

5.JPG7、find——查找文件

找出相对应文件的路径,下面的例子为找到所有后缀为.v的文件,并将文件的路径存放在filelist.list文件中。

[ICer@IC_EDA /home/ICer/Code/VL1]$find -name ".v" > filelist.list
[ICer@IC_EDA /home/ICer/Code/VL1]$ls
filelist.list  mux4_1.v  sim.jpg  tb_mux4_1.v

也可以将符合的文件名打印出来。

[ICer@IC_EDA /home/ICer/Code/VL1]$find -name "*.v" -print
./mux4_1.v
./tb_mux4_1.v

总结

6.JPG

持续更新。。。

最新文章

最新文章