其他快捷操作:
1.man:q为退出查看模式
2.ctrl--为缩小终端页面,ctrl++为放大终端页面。
3.ctrl+shift+c 拷贝,ctrl+shift+v 粘贴。
1、在文件系统中跳转命令
.表示当前目录,..表示根目录,/表示根目录;按tab健能够快捷补全。
pwd:查看当前所在目录。
cd -:可直接跳回到前一个目录。
cd /:可跳回到根目录。
2、对文件和文件目录的操作
1.copy:cp file file2;cp -r dir dir2(若为目录则要加-r)
2.move:mv file .. ;mv fir dir/(把目录移到dir文件夹下)
3.rename:mv file file2;mv dir dir2(注意,若dir2存在,则为移动操作?)
4.rmove:rm file;rm -r dir
5.创建文件:touch a.txt;>a.txt (创建隐藏文件,以.开头的文件就是隐藏文件)
6.创建目录:mkdir dir(隐藏目录创建同上)
7.查看文件:cat file ;less file
8.查看文件类型:file a.txt
9.通配符的使用:*匹配一个或多个字符,例如a* 可匹配a.txt或者aaaa.html等等,用echo a*(echo为打印命令)可查看任何匹配的文件or文件夹
10.压缩和解压缩:分别有三种,zip,tar.gz,tar .bz2
zip:zip file为压缩,unzip file 为解压缩。
tar.gz : tar zxvf file为解压缩,tar zcvf file为压缩。
tar.bz2: tra jxvf file为解压缩,tar jcvf file 为压缩。
3、重定向
1.三个重要文件,它们在系统中是一直打开的。
标准输入文件(stdin,文件描述符为0),标准输出文件(stdout,1),标准错误文件(stderr,2)
默认情况下,键盘输入的数据会保存到stdin中, 若把数据保存到stdout和stderr中,数据不会保存到硬盘上,而是会直接显示在屏幕上。
2.重定向的方式
输出重定向(redirect stdout ): > 。例如:cat a.txt > file(把a.txt文件的输出内容保存到file中,此时它会直接覆盖掉file中原有的数据);cat a.txt >> file或者cat a.txt file > file(向file追加a.txt中的内容)
标准错误重定向:2> 。例如:cat fakeFIle(一个不存在的文件) 2>file (由于fakeFIle为不存在的文件,所以会输出错误信息,然后这个错误信息会被重定向到file文件)
输入重定向:<。用法与输出一样
3.管道线
就是在命令后面再添加命令的操作。 | 为管道符,管道符后接需要的操作命令。格式为:|command|command|command...例如,cat file|uniq uniq为cat file的前提下,找出里面不重复的字符串。
4、权限
1.三种权限:读(r)、写(w)、执行(x)
2.权限的对象:owner,group,world(world为除了owner和group外的人)
3.文件模式
第一位:- 表示文件;l 表示符号链接;d 表示目录
1:表示链接的数量
第一个peter:表示owner的名字
第二个peter:表示group的名字
0:文件大小(byte)
rw-rw-r--:文件模式,可分为三组,rw-(第一组,表owner的文件权限),第二组为group,第三组为world。
4.文件与目录在三种权限下的区别
读:文件和目录一致
写:对目录而言,w权限可以进行增加/删除/重命名里面的文件操作;对文件而言,可以执行写入/删除/重命名操作。
执行:对目录而言,x权限可以进入这个目录;对文件而言,x权限可以执行这个文件(例如.sh脚本文件,或者.c程序)。
5.chmod(chang mode)
命令格式为:chmod xxx file (还有其他更便捷的方式)
xxx的说明:分别对应三组的权限,每一个组对应一个八进制数,0代表没有,1代表有,例如110就是有读和写权限,再把110变成八进制-->6
6.chmown(change owner)
5、进程
1.获取进程号
ps aux(后面可接管道符)|less 或者 |grep xx(xx为要查找的某个进程名称)等
2.杀掉进程 kill 进程号(pid)
3.后台执行
在终端中直接敲某个可执行程序,例如firefox,则终端会进入被firefox的进程占用
后台执行法1:而 firefox & 再回车能使它在后台执行,当前终端仍可用。
后台执行法2:若已经敲了firefox,则可在终端敲crtl+c来结束该线程,再使用bg来使其后台执行。相应的,回到前台为fg。
4.kill
不同参数有不同的意义。
kill +9:杀死进程,它没有办法做清理工作,或保存成果;
kill +2 :等于ctrl + c,终止程序;
若桌面系统死机了,则可以按ctrl+alt+f1,到linux中的第一个工作台(linux同时运行七个工作台),再输入kill 命令,杀死导致桌面瘫痪的进程,ctrl+alt+f7可回到桌面。
shell程序的退出(例如终端):ctrl+d = exit
6、查找
1.locate(deepin好像没有)
在系统全局范围内定位文件
它不是直接在文件系统里搜索,而是在一个数据库里读数据。有一个updatedb(好像deepin也没有)的命令每天执行一次,将文件系统里对应的文件信息存到数据库中,但因为每天执行一次,所以会找不到新创建的文件。
2、find
在一个目录范围内定位文件
例如:在一个文件夹mydir内 ,find .可看到所有文件; find .|grep .txt可看到所有txt文件;find . -type f 可查看所有文件;find .type d 可查看所有目录;find . -type f -exec xxx '{}' ';'(此为结束符,xxx为任意的命令) 可对找出来的文件进行进一步的操作。例如,find . -type -exec ls -l '{}' ';'('{}'代表刚才找出来的文件的文件名)
3、grep
字符串查找
7、网络操作
1.远程操作
ssh协议(secure shell ):安全外壳协议,使用非对称加密的网络传输协议,最常见的用途是用来远程登录系统。
见wiki:https://zh.wikipedia.org/wiki/Secure_Shell
命令:ssh 用户名@域名 -- 连接服务器;ctrl+d退出服务器;ssh-keygen -- 查看自己的私钥和公钥;ssh-copy-id 用户名@域名 上传公钥到服务器;
tmux:一款在不小心退出时保存现场的软件,例如服务器上使用vim,不小心按ctrl+d退出了,或者网络断掉了,只要进去的使用使用tmux,断掉后再进去使用 tmux -a 即可找到保存的现场;
2.数据传输
rsync(remote synchronization):用于本地和服务器数据同步
本地文件上传服务器:rsync -r mydir(这里后面不可有/,否则忽略掉mydir,而把所有数据上传上去) 域名: (:后可接路径,也可不接,若不接则默认放到/home/lianup(假设服务器上用户为lianup)上)
服务器文件上传本地:rsync -r 域名 :mydir .(基本就是命令不变,名字位置交换一下)
本地新增文件同步到服务器: rsync -a mydir/(/ 不可少) 域名:mydir/(/不可少)
本地新增和删除文件同步到服务器:rsync -a --delete mydir/(/ 不可少) 域名:mydir/(/不可少)
只查看本地新增和删除文件的信息,不同步(用于在同步前确认没有误删之类的):rsync -a --delete mydir/(/ 不可少) 域名:mydir/(/不可少) --dry run
8、软件安装
1.手动安装
1)下载后解压缩
2)解压缩后移动到一个喜欢的地方
3)找到可执行程序,把它放进环境变量里,变成系统命令:echo $PATH ,会出现很多由冒号分割的目录,只要把可执行程序放到任何一个目录中,就可以变成系统命令了。
4)创建符号链接:若不想做3),则可以用 ln -s 可执行文件所在地(绝对路径or相对) ~/bin/name(name为自己取的名字)
2.下载源程序安装
1)解压缩;
2)进入软件的 configure;(或许还要安装依赖)
3)make;4)sudo make install
2.deb 包
debin包包括:程序本身、配置文件、安装位置、依赖关系
1)安装deb包:sudo dpkg -i 包名
3.从apt-get 仓库安装(自动处理依赖问题)
安装软件:sudo apt-get install 软件名
删除软件:sudo apt-get remove(若想连配置文件也删掉则换成purge) 软件名
不清楚精确的包名:sudo apt-cache search 包名的片段(可查看所有相关的资源)
查看具体可安装的软件:sudo apt-get instal 软件名 按两下tab键
9、shell脚本编程
1.指定解析器
我们用的脚本是bash,故在脚本文件中写入#!/usr/bin/env bash
2.语句即命令
在命令行中执行的命令,放到脚本里就是语句。
3.位置参数
$# 代表有多少个参数;$0代表第一个参数
执行:
4.脚本不在当前shell执行
脚本中的语句不是在当前shell执行的,脚本中的语句会在另一个shell中执行。
5.循环控制
该脚本的功能是把mydir里面所有文件后缀加个.txt
6.远程执行
在脚本上写上远程链接的命令,就不用每次都敲一长串了。
7.确认执行
可把服务器同步更新的确认和真正执行写在一个脚本上。
8.其他语言写脚本