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
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
相关推荐: 文件系统考古:1974-Unix V7 File System
有时,进步难以察觉,特别是当你正身处其中时。而对比新旧资料之间的差异,寻找那些推动变革的信息源,我们就可以清晰地看到进步的发生。在Linux(以及大部分Unix系统)中,都可以印证这一点。 Unix V7 是 Unix 操作系统的一个重要的早期版本,于 197…