目录

前言        

学习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简单使用(重要)

2、用户管理终端命令

3、组管理终端命令

4、修改权限终端命令


前言        

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

学习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,会报错密码太短或者太长

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

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐