工作中几个常用的Linux命令

一、概述 

        什么是linux命令呢,百度词条是这么介绍的:linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器内存磁盘驱动器键盘鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。

        听起来比较复杂,简单一点说就是Linux系统下一些用于管理系统的命令,我们通过命令实现通过linux命令可以实现一些便捷的功能。

         在投简历的时候,一些岗位的招聘信息也有要求会熟练使用linux命令。在面试的时候,面试官也有可能会稍微问点linux命令,考察我们对linux命令对了解。        

        在我们实际的工作中,linux命令是十分常见的,我们可以通过一些在命令行中输入一些对应的命令,从而使我们更快更便捷地进行想要的操作。特别是在现在,很多的项目都是基于docker环境下的,熟练掌握linux命令也是必不可少的。

二、几个常用命令

2.1 cd

命令格式:cd  [目录名]

        cd,是change directory的简写,字面意思就更改目录。也就是说,通过输入这个命令,我们能够更改我们目前所在的目录。

        一般情况下,使用这个命令的时候我们可以通过配合使用tab键来进行高效地切换目录。

(1)如果在新的一级目录名下没有输入任何东西,那么此时按一次tab键将该目录下的所有目录都展示出来。

(2)如果在新的一级目录下没有输入任何东西,并且该目录下只有一个目录的话,按了tab键之后就会自动添加到我们cd的下一级目录。

(3)如果输入了一些内容,并且只有一个目录符合的,那么按了一次tab键之后就会自动补全。

(4)如果输入了一些内容,并且有多个文件符合的,那么连续按了两次tab键之后就会在出现所有符合的目录名。

注意:目录名区分大小写!

2.2 ls / ll

命令格式:ls/ll [选项] [文件名]

        lsll都是查看当前目录下的文件或者目录的命令,不过两者的作用还是有区别的。

ls:该命令是直接将所有的文件和目录都展示出来,将名字输出而不带有其他的信息。当然该命令后面可以对应添加一些参数,从而达到我们想要的效果,不过一般情况下都是直接使用ls即可,感兴趣的朋友们可以自行去搜索,这里不做过多的解答。

ll:该命令是ls -l的缩写,对比ls命令,不仅可以展示所有的文件,同时文件的详细信息也能看到。

2.3 touch / mkdir

命令格式:touch [文件名] / mkdir [目录名]

        touch命令主要是用来创建文件的,例如我们想在当前目录下创建一个test.txt的文件都时候,可以直接在命令行输入:touch text.txt,我们就创建出了这么一个文件了。当然,这个命令可以实现多层创建,例如我们现在需要在目录下的 test目录下创建一个 test.txt 的文件,可以直接使用命令:touch test/test.txt。(如果目录下不存在test目录,会报找不到 test目录的错误)

        mkdir命令和touch命令类似,不过它主要是用来创建目录。例如我们想创建一个directory目录,就可以使用命令:mkdir directory,这样子一个目录就创建成功了。命令格式与touch相似。

2.4 rm

命令格式:rm -[选项] 文件

        有创建文件的命令,自然有删除的命令。rm命令可以便捷地删除我们的文件,例如我们想删除当前目录下的 test.txt文件,可以直接使用命令:rm test.txt 。使用命令之后就可以将 test.txt文件删除了。

        当然,有些时候我们直接删除一个目录,直接使用rm是不够的,需要带上一些参数,最常讲的命令就是:rm -rf [目录名]。  通过这个的命令,就可以实现一整个目录所有文件的删除。

注意:使用rm命令时,最好使用tab键来补全我们需要删除文件的名字,在某些场景下输错文件名字会造成很大的事故,结果不可想象,因此建议配合 tab键来使用 rm命令。

2.5 pwd

命令格式:pwd -[选项]

        pwd命令是一个挺实用的命令,输入:pwd,将以绝对路径的方式显示用户当前工作目录,一般都是搭配其他命令进行使用,在清楚自己所在目录之后,进行其他的操作。

(选项方面,有兴趣的朋友可以自行搜索,这里不做过多展示)

2.6 mv

命令格式:mv -[选项]  [旧文件名] [新文件名] 

        mv命令是 move file的缩写,字面意思就是移动文件,用于为文件或目录改名、或将文件或目录移入其它位置,例如我们创建的文件名错了,test.txt创建成了 est.txt,这时候就可以使用该命令:mv est.txt test.txt。以下是该命令的参数:

  1. -b:当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。
  2. -i:如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。
  3. -f:如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。
  4. -n:不要覆盖任何已存在的文件或目录。
  5. -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。

2.7 cp 

命令格式:cp -[选项] [源文件] [目标文件]

        cp命令就是copy的缩写,字面意思就是拷贝文件。如果想将文件 test.txt拷贝到当前目录下的 root目录下,那么就可以使用命令:cp test.txt root 。以下是该命令的参数:

        1.-a: 此参数的效果和同时指定'-dpr'参数相同

        2.-b: 删除,覆盖目标文件之前的备份,备份文件会在字尾加上一个备份字符串

        3.-d: 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录。

        4.-f: 强行复制文件或目录, 不论目的文件或目录是否已经存在

        5.-i: 覆盖文件之前先询问用户

        6.-p: 保留源文件或目录的属性,包括所有组、所属组、权限与时间

        7.-r: 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理。

2.8 scp       

命令格式:scp 本地文件 远端用户名@远端用户ip:远端用户文件路径 (本地复制到远程)

        scp命令也是一个比较实用的命令,能实现本地与远端之间的文件传输。在工作的时候,由于常常需要将产出的代码在Ubuntu系统下运行,如果选择磁盘拷贝的话,容易出现拷贝的时候,有些文件会丢失,导致出现错误,这个时候使用scp命令了就能很方便的解决这个问题了。

        根据上面的格式,下面给出具体的例子:

把本地桌面上文件名为 local.txt,发送给远端用户名为XiaoFu,用户ip为192.168.20.100,文件放置在/Users/XiaoFu/Desktop,也就是在桌面上,那么具体的命令为:

scp  /Users/XXX/Desktop XiaoFu@192.168.20.100:/Users/zhangzepei/Desktop

(输入命令后一般需要输入远端的电脑密码)

2.9 tar

命令格式:tar -[选项] 压缩包名字 压缩文件路径 「压缩」 tar -[选项] 压缩包名字「解压

        tar这个命令也是挺常用的,就是压缩与解压嘛。这个命令的使用场景一般就是,当我们将代码编译了之后,想要在打包放在Ubuntu系统下进行运行的时候,首先就要我们的仓库进行压缩,将编译好的文件都打包,接下来到对应的地方解压,运行代码。这里面就涉及到了压缩和解压的步骤,而这两种方式的不同就是基于对应选项参数,如下:

  • -c,--create 创建新的tar文件(压缩)

  • -x,--extract,--get 解开tar文件(解压)

  • -z,--gzip,--gunzip,--ungzip 调用gzip执行压缩或解压缩。

  • -f, --file=ARCHIVE 使用归档文件

  • -v, --verbose 详细地列出处理的文件

        在参数这方面,一般都是-zcvf(压缩),-zxvf(解压),如下命令:

        tar -zcvf  output.tar.gz test   | tar -zxvf output.tar.gz

2.10 ssh

命令:ssh [-p port] user@remote

        ssh的介绍起来比较多,这里就直接明确讲一下作用。ssh的作用就是:我们可以通过ssh来远程控制我们的电脑或者服务器。

        怎么理解呢,举个例子:在我的部门这边,代码仓库是在一个电脑上的,那么我们在我们代码仓库写代码呢?我们就可以使用ssh命令,ssh到目标仓库上,就能远程控制电脑或者服务器了。(简单粗俗点说就是能操作别人的电脑上的文件之类的)

        举个例子:ssh root@192.168.20.100,使用这个命令后就进入到这个ip地址下的电脑,进入了之后可以输出看到远程电脑下所有的文件了(类似于在我们的电脑上可以看到别人电脑上的东西)

2.11 cat

命令格式:cat  [选项] [文件名]

        cat是catenate、concatenate的简写,字面意思就是将显示或把多个文本连接起来。最简单的使用就是cat filename,就是查看filename中的内容,需要注意的一点是,cat命令查看文件的时候,会展示所有的内容,一般都是看那些内容比较少的,如果像是log这类的文件,就不推荐使用这个命令了。下面是一些参数:

1、cat filename,查看filename内容。
 
2、cat -n filename,查看文件的内容,并对所有输出行进行编号(包括空白行)。
 
3、cat -b filename ,用法和 -n 差不多,但是不对空白行编号。
 
4、cat -s filename,当遇到有连续两行或两行以上的空白行,就代换为一行的空白行。
 
5、cat -e filename,在输出内容的每一行后面加一个$符号(包括空白行)。

举个例子,假如我们需要查看setup.bash这个文件的时候,就可以输入命令:cat setup.bash

类似的命令还有more、less、tail和head,有兴趣的可以去了解一下。

2.12 find

命令格式:find [路径] [条件] [处理动作] 2>/dev/null

        find命令是一个很实用的命令,一般来说当我们忘记了我们写好的脚本或者一些文件放在哪里的时候,就可以使用这个命令来查找。

        命令的参数有三个:

1.第一个就是路径,我们可以输入一部分路径,这样子可以减少搜索的文件和目录,更快更准确地找到我们想要找到的文件。

2.第二个就是条件,比如说,我们可以输入文件的一部分的名字,通过模糊查询来找到我们想要的文件。如下:

-name "文件名称": 区分大小写,支持使用通配符 * ? []  [^]
            
-iname "文件名称":不区分字母大小写
                    
-path "/path/name" : 匹配某个文件或目录的完整路径,而不仅仅是匹配文件名

3.第三个就是处理动作,没有输入对应的参数的话,直接显示默认。根据对应的需求输入。

-print:默认的处理动作,显示至屏幕;

 -ls:类似于对查找到的文件执行“ls -l”命令;

            

-delete:删除查找到的文件;

          

  -fls /path/to/somefile:查找到的所有文件的长格式信息保存至指定文件中;

举个例子:现在我们要找一个文件,文件名包含happy这几个字母,而且确定他是放置于root目录的子目录下,命令为:find /root -name '*happy*'  

还有很多常用的命令例如vim、grep、sudo和ping等,这里就不做展示了。

三、总结

        熟练地使用linux命令对我们的工作作用挺大的,个人建议有时间的话可以多学学。当然,这些命令我们不用死记硬背,多用多思考,如果忘记了用法的话,可以通过上网搜索一下,或者使用命令:help [command] 来进行查看,同时,也不必要将所有的参数都要记住,一般来说记住最简单的使用方式就可以了,后面再对应需求扩展命令。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值