目录

前言        

学习Linux终端命令的原因

学习Linux终端命令的技巧

Linux常用命令

一、常用linux命令的基本使用

1、查看目录内容

1.1 ls 列表和隐藏文件显示

1.2 ls 通配符的使用

2、切换目录

2.1 cd命令

2.2 相对路径、相对路径

3、创建和删除操作

3.1 创建文件touch

3.2 创建目录mkdir

3.3 删除命令 rm

4、拷贝和移动文件

4.1 以树状图列出文件目录tree

4.2 复制文件/目录 cp

4.3 移动或重命名 mv

5、查看文件内容

5.1 gedit 文件名

5.2 cat 文件名:(适合内容较少的文件)

5.3 more 文件名:分屏显示文件内容(适合内容较多的文件)

5.4 grep 搜索文件里的内容

6、其他命令

6.1 echo 和 重定向

6.2 管道 |

二、远程管理常用命令

1、关机重启

1.1 shutdown

2、查看或配置网卡信息

2.1 ifconfig

2.2 ping IP地址

3、远程登录和复制文件

3.1 ssh基础(小白的重点)

3.2 域名 和 端口号

3.3 SSH高级(了解)

3.4 SCP(远程拷贝文件)熟练掌握

四、用户权限相关命令(不常用)

1、用户和权限的基本概念

1.1 基本概念

1.2 组

1.3 ls-l命令的扩展

1.4 chmod简单使用(重要)

1.5 超级用户sudo

2、组管理 终端命令

3、用户管理 终端命令

3.1 创建用户/设置密码/删除用户

 3.2 查看用户信息

4、修改权限 终端命令

五、修改密码

六、常用命令

6.1 两个文件对比

6.2 以tree形式显示目录

6.3 查找文件和目录

6.4 查找并kill 进程

6.5 文件所占空间


前言        

        个人很喜欢黑马的课,讲的很细很全,边看课边记录。

学习Linux终端命令的原因

        1、大多数公司开发,都是用的linux系统,开源免费。所以得或多或少学会一些Linux的常用终端命令。

        2、用熟了,开发效率贼高。

学习Linux终端命令的技巧

        1、千万不要死记硬背,多用多练。

        2、不要尝试一次学会所有的命令,记住常用的就够了,其他临时百度。(linux发行版终端命令大概有200多个,而常用的只有20个左右)

Linux常用命令

补充:

1、截图命令是gnome-screenshot。  

2、命令后加-h,–help 显示帮助选项,–help-all 显示全部帮助选项。

3、git clone git://github.com/Dreamacro/clash.git  下载git文件

4、shutdown -r now  重启linux

5、ctrl+s 暂停终端命令,ctrl+q 继续终端命令

----------------------------------------------------- 2021.12.18------------------------------------------------------------

一、常用linux命令的基本使用

1、查看目录内容

1.1 ls 列表和隐藏文件显示

        ls -a:显示路径下所有的文件(灰色)和目录(蓝色),包括隐藏文件( .xxx )。
        ls -l:显示详细信息。
        ls -lh:在ls -l 命令的基础上,还显示了文件大小。

1.2 ls 通配符的使用

 最常用的通配符是*  ? [ ]等

        ls 1*.txt

        ls 1?3.txt

        ls  1[1-6]3.txt

----------------------------------------------------- 2021.12.19------------------------------------------------------------

2、切换目录

2.1 cd命令

        cd是英文单词change directory的简写,其功能是更改当前的工作目录。

        注意:Linux所有的目录和文件名对字母的大小写都是敏感的。

2.2 相对路径、相对路径

        相对路径:例如cd ..  表示相对于当前目录的上一个目录  

        相对路径:例如cd /catkin_ws/src/ 表示根目录(/)或家目录(~)开始的具体位置

3、创建和删除操作

3.1 创建文件touch

        格式:touch 文件名

        注:当文件不存在时,创建一个空白文件;当文件存在时,修改文件的末次修改日期。

3.2 创建目录mkdir

        格式:

        1)“mkdir 文件名” 创建一个新的目录(也就是文件夹)。

        2)”mkdir -p 目录1/目录2/目录3/目录4“ 可以递归创建目录(这4个目录从左到右是包含关系),如下图所示:

         注:新建目录的名称不能与当前目录中已有的目录和文件同名。

3.3 删除命令 rm

        注意:用rm命令删除文件后,文件不会放置在回收站,而是直接从磁盘删除。

        rm -r xxx        //递归删除文件(适用于多级文件夹)。

        rm -f xxx        //强制删除,忽略不存在的文件,无需提示。

举例:一般打开文件后,直接退出的会产生交换文件.swp,我们用rm命令把他们全部删除。

rm -rf .*                // .* 代表.xxx的所有文件。

注意:-rf 直接递归删除,没有提醒!!! 所以千万不要手滑,删除其他文件。 

4、拷贝和移动文件

4.1 以树状图列出文件目录tree

        格式:tree 目录名                

        作用:是以树状图列出文件目录,

        而 tree -d 目录名        作用是显示目录(蓝色),不显示文件(灰色)。

4.2 复制文件/目录 cp

        格式:1)cp 源文件 目标文件,如下图:

        2)cp -i 源文件 目标文件;        //覆盖文件前提示(更安全)

        3)cp -r 源文件 目标文件;        //递归复制目录

4.3 移动或重命名 mv

        格式:

        1)mv 源文件 目标文件 ;

                移动作用:当源文件和目标文件的路径不同时,有移动的作用

                重命名作用:当源文件和目标文件的路径相同但文件名不同时,有重命名的作用。

                                        其中 ./ 代表当前文件下。下图为重命名操作。

        2 )mv -i 源文件 目标文件;//覆盖文件前提示,更安全

5、查看文件内容

5.1 gedit 文件名

        gedit config                        //用gedit文本编辑器打开文件config        

5.2 cat 文件名:(适合内容较少的文件)

        如果文件是空的,则不显示。需要用先gedit编辑一下,再查看。

        cat config                           //完整显示config文件的所有内容

        cat -b 123456.txt                //对输出的非空行编号 (等价于nl命令)

        cat -n 123456.txt                //对输出的所有行编号,如下图

5.3 more 文件名:分屏显示文件内容(适合内容较多的文件)

        more 命令比较常用,在此页面后,可以使用空格命令翻页,回车命令查看下一行,q命令退出等等

5.4 grep 搜索文件里的内容

                grep +内容+文件;例如:grep as 123456.txt

                grep -n  +内容+文件://显示行号

                grep -v  +内容+文件://反选 

                grep -i  +内容+文件://忽略大小写 

        常用的两种模式查找:

                grep ^a +文件://行首,搜索以a开头的行

                grep a$ +文件://行尾,搜索以a结尾的行

6、其他命令

6.1 echo 和 重定向

        echo hello xiaobo > 123.txt       //表示把hello world内容输出到123.txt中,会覆盖原有命令   

        echo hello xiaodou >> 123.txt        //表示把hello world内容追加到123.txt中,不覆盖原有内容

        例如:红框1是把hello world内容输出到123.txt中,覆盖了原有内容。红框2是把ls -lh所查看的内容追加到123.txt中,但是不覆盖原有的hello world内容。红框3是查看123.txt的内容。

         例如:接着上面的文件内容,再次把 tree命令追加到123.txt文件中。

6.2 管道 |

        作用:linux允许将一个命令的输出通过管道|作为另一个命令的输入

        例如 ls -lha ~ | more        //分屏显示 家目录~ 下的文件。

        例如 ls -lha ~ | grep nap        //查找家目录下的包含nap的文件或目录。  

二、远程管理常用命令

        目标:学会关机重启、配置网卡信息、远程登录和复制文件等等。

1、关机重启

1.1 shutdown

        shutdown         //一分钟后关机

        shutdown -c         //取消关机(远程维护服务器时,一般不关机,只重启)

        shutdown -r now        //现在重启

        shutdown now        //现在关机

        shutdown +10         //10分钟后关机

        shutdown 20:26        //晚上20:26关机

        shutdown -s -t 3600        //3600秒(1小时)后关机

2、查看或配置网卡信息

2.1 ifconfig

        作用:查看计算机的网卡配置信息

        格式:ifconfig | grep inet        //把查询的配置信息通过管道|输入给grep查找,只显示包含”inet“的信息。

        注:在Linux中物理网卡的名字通常以ensXX表示。

2.2 ping IP地址

        作用:检测目标ip地址连接是否正常

        ping 192.168.3.132        //举例

        注:127.0.0.1被称为本地回环地址,一般用来测试本机网卡是否正常。

3、远程登录和复制文件

3.1 ssh基础(小白的重点)

        SSH(Secure Shell)是为远程对话提供安全性的协议。

 优点:

        1、数据加密,防止信息泄露。

        2、数据压缩,以减少数据量,从而提高传输速度。     

3.2 域名 和 端口号

1)域名(IP地址的别名,例如www.baidu.com)

        举例:ping www.baidu.com  等价于 220.181.112.244(百度的IP地址)

2)端口号 

        作用:通过端口号可以找到计算机运行的应用程序。

        举例:192.168.2.99 : 9090(是ZYNQ的IP和端口号),而80是Web默认端口号,22是SSH服务器默认端口号,可省略。

        常见服务端口号列表:

3)linux下SSH简单使用

        ssh -p port user@remote(P为小写)                例如:ssh -p 22 yue@127.0.0.6

        其中:        user是远程机的用户名,如果不指定,默认为当前用户。

                           remote是远程机的地址,可以为IP(可用ifconfig | grep inet查询) / 域名 / 别名。

                           port是SSH监听的端口,如果不指定,默认为22。

4)Windows下常用的SSH客户端

        Putty:官方下载地址

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html                       //

        Xshell:官方下载地址

https://www.xshellcn.com/xiazai.html                            //

        MobaXterm:压缩包百度云分享

链接:https://pan.baidu.com/s/1RfTJi9p62PuhEUXNH0CbjQ 
提取码:2l5s 
--来自百度网盘超级会员V3的分享                                            //

        注:exit退出当前用户的登录。

3.3 SSH高级(了解)

        有关SSH的配置信息都保存在家目录下的隐藏文件.ssh文件中。

1)免密码登录

        步骤:

            1、配置公钥:执行ssh-keygen生成密钥,一路回车确认即可。

            2、上传公钥到服务器:执行ssh-copy-id -p port user@remote,让远程服务器记住公钥。

        非对称加密算法:使用私钥加密的数据,必须使用公钥解密;反之亦然。

        例如本地使用私钥加密数据、通过网络发送到服务器、服务器使用公钥对数据进行解密。

2)配置别名(常用)

        每次都输入ssh -p port user@remote,这么长当然可以配置别名来替代。

        譬如:ssh yue代替ssh -p 22 yue@127.0.0.6,那么在~/.ssh/config中加以下内容保存即可。

Host yue                    //一个空格,不可随意再加,下面同理
    HostName 127.0.0.6        
    User yue
    Port 22

        配置config文件后,不光ssh可以简化操作,scp也可使用。

        例如:把本地目录下 06.py文件复制到远程机桌面上。

        格式:scp命令 + 本机源文件名 + 远程机目标文件夹

scp 06.py  yue:Desktop/06.py        //复制06.py文件
scp -r ~/Desktop yue:Desktop/practice        //复制桌面文件夹到远程机的桌面practice文件夹中

3.4 SCP(远程拷贝文件)熟练掌握

        SCP是secure copy,在linux下远程拷贝文件的命令。

        ①把本地目录下 06.py文件复制到远程机桌面上。

        //如果“ : ”后面的路径不是绝对路径,则以用户yue的家目录作为参考路径

scp -P port 06.py yue@127.0.0.6:Desktop/06.py        //P为大写

        ②把远程机家目录下 06.py文件复制到本机桌面上。

scp -P ​​​​​​​ port yue@127.0.0.6:Desktop/06.py 06.py                                    //

        ③把本地目录下 practice文件夹 复制到远程机桌面上。

 scp -r practice yue@127.0.0.6:Desktop                                            //

        ④把远程机家目录下 practice文件夹 复制到本机桌面上。

 scp -r yue@127.0.0.6:Desktop practice                                              //

        上述情况是在linux环境下,而在windows下则需要安装Putty软件->使用PSCP命令行工具,​​​​​​​或者 安装FileZilla使用FTP进行文件传输。官方下载地址:客户端 - FileZilla中文网

        注:使用FTP服务是要更改端口号为21。

四、用户权限相关命令(不常用)

1、用户和权限的基本概念

1.1 基本概念

        在linux系统中,用户管理包括用户和组管理。

        在linux系统中,用户登陆系统时都必须拥有一个账号,每个账号对资源有不同使用权限。

        在linux系统中,可以指定每个用户针对不同的文件或者目录的不同权限。

        对文件/目录的权限如下:

1.2 组

        为了方便管理用户,提出了组的概念。即给用户分组,按组给予用户权限。

1.3 ls-l命令的扩展

        ls-l命令可以查看文件的详细信息。从左到右依次是:

1)权限

        第一个字符如果是 - 表示文件,如果是 d 表示目录。拥有者权限就是当前用户权限。

2)硬连接数.

        硬连接数 = 有多少种方式访问当前目录/文件

                        = 绝对路径(只有1个)+ 相对路径(可以多个)

        举例:如图位于 桌面的A目录 的硬连接数是多少?

        答案:A的硬链接数为3。

        解析:路径1:绝对路径 位于家目录时,可以cd Desktop/A到达

                   路径2:相对路径1 位于Desktop/A时,可以cd .到达Desktop/A。

                   路径3:相对路径2 位于Desktop/A/a时,可以cd ..到达Desktop/A。

3)用户名

        在linux系统中,用户名一般和组名相同。

4)组名

5)文件大小

6)创建/修改日期

7)名称

1.4 chmod简单使用(重要)

       chmod命令可以修改 用户/组 对 文件/目录的权限。

格式:

        chmod +rwx filename        //加读、写、执行权限

        chmod -rwx filename        //减读、写、执行权限

        sudo chmod  777 filename  //加读、写、执行权限

依照下面的表格,权限组合就是对应权限值求和,如下:

        7 =  4 + 2 + 1    读写运行权限;
        5 =  4 + 1           读和运行权限;

        4 =  4                 只读权限;

        sudo chmod  754 filename  // 将filename文件的读写运行权限赋予文件所有者,把读和运行的权限赋予群组用户,把读的权限赋予其他用户

权限

权限数值

二进制

具体作用

r

4

00000100

读取。当前用户可以读取文件内容,当前用户可以浏览目录。

w

2

00000010

写入。当前用户可以新增或修改文件内容,当前用户可以删除、移动目录或目录内文件。

x

1

00000001

执行。当前用户可以执行文件,当前用户可以进入目录。

        注:对于目录来说,若没有可读权限r,不能使用ls查看命令;若没有可执行权限x,不能使用ls和cd权限;若没有可写权限w,不能使用touch命令创建文件。

1.5 超级用户sudo

        Linux系统中,我们常用的linux账户是“标准用户”。标准用户想要安装软件等操作,则需要加sudo命令提高用户权限。  

        其中,sudo命令表示以root超级用户身份执行命令;root账号常用于系统的维护和管理,对操作系统的所有资源具有访问权限;sudo命令需要输入密码,5分钟之内可以不用重新输入。

2、组管理 终端命令

        在实际应用中,可以先设好组再拉组员进来,这样可以减少给每个组员一一设置用户权限。

         提示:/etc是专门用来保存系统配置信息的目录。因此组信息保存在/etc/group文件中。

         例如:添加组dev操作。

3、用户管理 终端命令

3.1 创建用户/设置密码/删除用户

 提示:

        1)创建用户/设置密码/删除用户都要加sudo命令。

        2)创建用户后,忘记添加-m来指定新用户的家目录,那么最简单的解决方法就是删了重建。

添加新用户操作如下图:

 3.2 查看用户信息

        3.2.1 命令格式

         演示如下图:

 3.2.2 passwd文件介绍

        /etc/passwd 文件存放的是用户的信息,由 6 个分号组成的 7 个信息,分别是

        1. 用户名 python

        2. 密码(x,表示是加密的密码)

        3. UID(1000 是用户标识)

        4. GID(1000 是组标识)

        5. 用户全名或本地账户(python)

        6. 家目录(/home/python)

        7. 登录使用的 Shell,也就是使用的终端命令。Ubuntu 默认是 bash。

4、修改权限 终端命令

        后面的内容目前阶段用不到,就先不记录了。

五、修改密码

在安装 Ubuntu 的时候建立的帐户 nb,想把密码改成6,方便输入。

nb@nb-vm:~$ sudo passwd nb
[sudo] password for sai:  xxx
输入新的 UNIX 密码: 6
重新输入新的 UNIX 密码: 6
passwd:已成功更新密码

注:不适用sudo,会报错密码太短或者太长

六、常用命令

6.1 两个文件对比

命令:使用 gvim 对比:gedit -d file_A file_B。 

6.2 以tree形式显示目录

命令:tree -L 3 

解释:3代表 3级子目录,只要大于等于想要查看的目录级数,就可以显示全部的目录。

6.3 查找文件和目录

命令1:find ../Library/A* -name "verilog"

解释1:在../Library/A*及其子目录中,查找verilog开头的文件或目录。

命令2:find . -name hello.c

解释2:在当前目录下,查找hello.c文件。

6.4 查找并kill 进程

这个类似于window的任务管理器杀死某个进程。

linux操作方法如下:

       Step1:查看自己的进程:

        ps -ef | grep id_name;(查看linux进程)

        ps -ef | grep id_name | grep svn;(查看svn进程)

        其中id_name代表主机名。

       Step2:杀进程,kill -9 3086;其中3096代表进程号。

6.5 文件所占空间

(1)查看本地文件大小

        du -sh *

(2)查看空间限制

        quota

----------------------------------------------------- 一直在学习 ----------------------------------------------------------

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐