Linux常用命令

1.终端和远程服务器的关系是什么?

  远程端1500个主机  Terminal/终端相当于屏幕    我们打开Terminal相当于与主机连了一个线,可以看到主机里面的内容   
   我们打开两个Terminal相当于主机连接了两个屏幕,一个主机可以连接很多个屏幕  两个屏幕共享着同一个主机 
   其中一个屏幕进行的一些操作 我们在另外的一个屏幕中也是可以感受到的  每一个terminal可以连接到其他任何一个服务器上

   比如屏幕与A服务器(联网的)相连,现在将A服务器连接到B服务器,屏幕则显示的是B服务器的内容,相当于跳转一下。
   我们的电脑相当于屏幕,通过ssh我们可以登录到任何我们想去连接的服务器

2.未来工作方式,Terminal,命令行交互方式

   未来我们操作服务器完全是通过终端这个小黑框来操作的

   操作服务器与我们本地的环境没啥关系,有个终端就可以了,win-git bash    linux-ctrl+T    mac-terminal,
   以后有个终端就足够了,不需要图形化界面,我们打开终端就类似于打开了我们的电脑,操作linux服务器的话完全可以通过这个终端来操作。

   我们退出终端,程序会关掉,但是服务器是24小时运行的,要想退出不关掉,可以使用命令tmux

   刚开始用命令行可能不太习惯,但是命令行可以进行很多批量化的操作,会很快

3.文件系统

3.1 文件系统结构(了解即可、这部分不影响我们操作linux服务器,忘记了现查即可)

linux里面有个根目录,根目录名字就叫做/,/里面有很多的文件夹,比如常见的有

  • bin 里面存的是常用的可执行文件的命令 比如ls等

  • etc 配置文件,比如我们部署一个网站的话会用到代理服务器nginx,配置都在etc里面,etc里面则会开辟一个叫nginx的文件夹,里面都是各种配置文件

  • var 里面会有一个文件夹叫做log(日志)

  • lib 里面会存各种安装包或者库文件,比如C++的一些库文件

  • home 所有用户的家目录 可能会有多个用户 比如home/acs(常用)

  • proc 进程相关的一些信息,比如在win中看配置我们需要点开计算机右键属性 , 在linux终端中 通过命令cat /proc/cpuinfo 我们可以看到一些配置信息

3.2 路径

  • linux描述路径有以下两种方式

    • 绝对路径(从根目录开始描述的路径)

    • 相对路径(从当前路径开始描述的路径)

  • 根目录

    • ~/ = /home/csy/ 表示家目录 / 是根目录,家目录是home文件夹下用户的目录/home/csy(家目录) /home/acs(家目录)

4.文件管理常用命令

  • 方向键上:可以显示上一条命令,多按几次就会显示最前面的命令
  • 命令行输入 history 我们可以看到我们输入的所有历史命令

4.1 ctrl c 取消命令,并且换行

  • 可以杀掉某一个程序,比如某一个程序一直再跑没有结束,我们就可以把他杀掉,比如终端输入top命令,我们可以输入q关掉,也可以ctrl+c关掉,ctrl+c会向我们当前运行的进程传一个终止信号,会直接把这个进程关掉

  • 打错一行指令,想重新换行输入,也可以使用此命令进行跳过,直接结束一个命令

4.2 ctrl u: 清空本行命令

  • 打出来一条指令,我们想将其清空可以使用此命令(ctrl c起到换行并清空的作用)

4.3 tab键:可以补全命令和文件名,如果补全不了快速按两下tab键,可以显示备选选项

  • 不仅可以补全命令,还可以补全路径

4.4 ls: 列出当前目录下所有文件,蓝色的是文件夹,白色的是普通文件,绿色的是可执行文件

  • ls还有一些常用的参数,ll=ls -la=ls al 查看所有文件的详细信息

  • 比如我们想看一些文件的详细信息 ls -l

  • 命令前面加上h,ls -hl 人性化输出(把详细信息里面的大小换成兆),比如看一下kill这个文件的大小,如下所示

  • ls -a 可以显示出所有文件包括隐藏文件(所有以.开头的文件都是隐藏文件)

  • ls -A的话就不显示.和…

3.5 pwd: 显示当前路径

3.6 cd XXX: 进入XXX目录下, cd … 返回上层目录

  • 直接cd的话默认返回家目录

  • cd … 返回上一层

  • cd ./和cd / 感觉没啥区别

  • cd - 两个文件路径来回切(上一个和当前的)

  • cd可以理解成进入某个文件夹

  • 在图形化界面我们点进去一个文件夹,可以看到文件夹里面所有的文件。这个过程相当于cd+ls

3.7 cp XXX YYY: 将XXX文件复制成YYY,XXX和YYY可以是一个路径,比如…/dir_c/a.txt,表示上层目录下的dir_c文件夹下的文件a.txt

  • cp = (复制+粘贴+重命名)

  • 比如 cp a/tmp.txt b 就可以把a路径里面的tmp.txt复制到b路径里面

  • 要是我们不但想复制还想将tmp.txt重命名为tmp2.txt的话就可以 cp a/tmp.txt b/tmp2.txt

  • 把a整个目录复制到目录b中 cp a b -r ,我们可以通过命令 cp a . -r 把a复制到当前目录中,这样就会有两个a ,因为会重名,所以会提示错误。我们复制文件夹一定要加-r

  • 但是我们可以重命名,通过命令cp a c -r,就可以实现把a在当前路径中再复制一份,名字叫做c

3.8 mkdir XXX: 创建目录XXX 创建文件夹

比如有个文件夹叫做y c,我们可以mkdir y/ 在当前路径进行创建

  • 我们要是想创建文件夹,a里有b,b里有c,图形化界面就会很麻烦, 在命令行里面我们可以 mkdir a/b/c -p 创建一串文件夹我们可以-p

3.9 rm XXX: 删除普通文件; rm XXX -r: 删除文件夹

  • 比如有个文件夹叫做y,我们可以通过rm y删除掉它 记住无回收站哦

  • rm * 删除这个文件夹下的所有东西

  • rm * -r 删除目录下所有的文件,-r是因为文件夹有目录

  • rm tmp.txt tmp2.txt 表示删除tmp.txt和tmp2.txt这两个文件 我们也可以rm *.txt 删除所有txt文件

  • rm c 删除不了我们可以 rm c -r -r表示递归删 此处c是一个文件夹这样就可以删除了

  • rm a/* 将a这个文件夹里面的东西都删除了,但是a这个文件夹还在,只不过里面的东西没有了

3.10 mv XXX YYY: 将XXX文件移动到YYY,和cp命令一样,XXX和YYY可以是一个路径;重命名也是用这个命令

  • mv = (剪切+粘贴+重命名)

  • mv a/tmp.txt b/ 将a中的tmp.txt移动到b中,移动后a中就没有tmp.txt了

  • mv a/tmp.txt b/tmp2.txt 将a中的tmp.txt移动到b中并进行重命名为tmp2.txt,此时a中就没有 tmp.txt了

  • mv tmp.txt tmp2.txt实现的效果就是重命名,将tmp.txt重命名为tmp2.txt

  • cp是把A复制到B,复制后A中的东西还在

  • mv是把A移动到B,移动后A中就没东西了 这也是这两个指令唯一的区别

3.11 touch XXX: 创建一个文件

  • 比如touch t1.txt 文件和文件夹不一样哦

3.12 cat XXX: 展示文件XXX中的内容

  • cat tmp.cpp 就可以在终端看到我们写的这个cpp文件的详细内容 只能cat文件 不能cat文件夹哦

3.13 复制文本 windows/Linux下:Ctrl +(ROG还得加Fn键)+insert,Mac下:command + c

3.14 粘贴文本 windows/Linux下:Shift +(ROG还得加Fn键)+ insert,Mac下:command + v

3.15 查看文件结构、显示目录树 tree

3.16 ln -s file lnks创建一个指向文件或目录的软链接(方便同步,改一个地方所有文件就都会变)

3.17 source file.csh 运行file.csh文件

3.18 echo “test”显示双引号之间的内容

3.19 echo $TEST 显示变量TEST的内容

3.20 grep -i “trans” MY_DESIGN.con

  • 在MY_DESIGN.con中搜索字符串trans
    Linux常用命令_第1张图片

你可能感兴趣的:(Linux,linux,服务器)