这里记录一下个人学习过程,至关于本身记个笔记,同时分享出来,若是有同窗恰好有须要而这个文章帮助到了你的话,在下也会十分开心。html
文章最后推介了几个免费视频,B 站和慕课上的免费学习视频挺多,并且有些质量仍是不错的。前端
当 cd /
进入到根目录,ls
能够看到一大堆子目录,以下图:linux
这些文件是有颜色的:git
经常使用目录的做用以下:github
/home/用户名
。固然,root 用户除外;其余更详细的目录做用参考 <CentOS根目录下各目录介绍 - 知乎>shell
一些经常使用的命令见下:apache
做用 | 命令 |
---|---|
切换目录 | cd |
显示当前目录完整路径 | pwd |
查看目录下的信息(包括隐藏文件) | ls (ls -a ) |
列出目录下的文件和详细信息 | ls-l (ll ) |
建立目录 | mkdir |
建立文件 | touch |
复制文件(文件夹) | cp (cp -r ) |
移动/重命名文件夹和目录 | mv |
删除文件(目录) | rm (rm -rf ) |
删除空文件夹 | rmdir |
查找文件 | find |
获取帮助 | man / info |
还有几个经常使用的快捷键:vim
做用 | 快捷键 |
---|---|
清空至行首 | Ctrl + U |
清空至行尾 | Ctrl + K |
清屏 | Ctrl + L |
终止执行的命令 | Ctrl + C |
值得一提的是,这些命令在其余系统也可使用。安全
咱们可使用 tree
命令方便地查看目录树,可是系统自己却并无安装 tree
命令,因此咱们要首先安装一下 sudo yum -y install tree
,而后咱们就能够快乐使用了:bash
vim 编辑器是 CentOS 系统中使用频率比较高的编辑器,掌握基本使用方法对之后的工做有很大帮助。
经过 vim <文件名>
的方式能够编辑某文档,若是文档名不存在,那么会新建一个文档来进行编辑。
vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。
启动 vim 后就进入了命令模式,此状态下敲击键盘动做会被认为是命令,而非输入字符。经常使用的几个命令:
命令模式只有一些最基本的命令,要依靠底线命令模式输入更多命令。
在命令模式下按下 i
就进入了输入模式。在输入模式中,可使用如下按键:
功能 | 命令 |
---|---|
向上翻页 | PageDown / Ctrl + F |
向下翻页 | PageUp / Ctrl + B |
跳转到文件首行 | 1G / gg |
跳转到末尾行 | G |
跳转到第 # 行 | #G |
行号显示 | :set nu |
行号显示取消 | :set nonu |
插入 | d / Del |
删除当前行 | dd |
复制 | yy |
将缓冲区中的内容粘贴到光标位置处以后 | p |
还有一些其余命令,好比删除从光标处开始的 # 行内容 #dd
,复制从光标处开始的 # 行内容 #yy
等,能够看文档 <Linux vi/vim | 菜鸟教程> 一文。
在命令模式下按下:(英文冒号)就进入了底线命令模式。
底线命令模式能够输入单个或多个字符的命令,可用的命令很是多。
在底线命令模式中,基本的命令有(已经省略了冒号):
:q
退出程序;:q!
放弃对文件内容的修改并退出;:w
保存文件;:w /root/xx
另存为;:wq
保存文件并退出;一些常见查看文件内容的命令:
功能 | 命令 |
---|---|
浏览文件所有内容 | more / less |
查看文件内容(显示行号) | cat (cat -n ) |
在文本文件中查找字符串(显示行号) | grep (grep <关键字> <要查找的文件> -n ) |
管道符 将一个命令的执行结果做为另外一个命令的输入来执行,格式 cmd1 | cmd2 ... | cmdn
好比,将 /etc
目录中的文件名以 pass 开头的文件列举出来 ls /etc | grep pass*
再好比,查看 /etc
目录下的内容,并使用 less 的形式浏览 ls /etc | less
功能 | 命令 |
---|---|
输出重定向,已有原来的文件则替换 | > |
输出重定向,若是原来的文件存在则追加在原来的内容以前 | >> |
输入重定向,即命令的输入不经过键盘来完成,而经过其余的方式 | < |
错误重定向 | 2> |
输出重定向与错误重定向同时实现 | &> |
好比,将 ls /
命令执行的结果输出到 2.txt
中 ls / > 2.txt
进程: 是正在执行的一个程序或命令,每个进程都是一个运行的实体,都有本身的地址空间,并占用必定的系统资源。
进程管理最重要的就是 ps
命令:
ps aux
,查看系统中全部进程,使用 BSD 操做系统格式;ps -le
,查看系统中全部进程,使用 Linux 标准命令格式;ps
命令输出大约以下图所示:
输出的格式含义:
还有个命令 pstree
,显示进程树:
top
命令能够查看系统健康状态,和 Windows 系统中的系统管理器相似。
top
命令的交互模式中能够执行下面命令:
?
/h
: 显示交互模式的帮助;P
:以 CPU 使用率排序,默认就是此项;M
:之内存的使用率排序;N
:以 PID 排序;q
:退出 top
;load average 后面的三个数字的意思,分别为系统在以前 1 分钟,5 分钟,15分钟的平均负载。通常认为小于 1 时,负载较小。若是大于 1,系统已经超出负荷。若是是多核 CPU,那么这个数字应该不大于你的 CPU 核心数,好比双核 CPU 时应该不大于 2。
Tasks 后面的 zombie,意思为僵尸进程,通常是进程没法正常运行,也没有正常退出卡住了,也有可能这个进程正在终止过程当中,若是稍微等待一下还有,那么就须要手工检查一下。
%CPU(s) 的 id 是主要须要看的,意为空闲 CPU 的百分比,若是低于 20,那么系统的状态就比较卡了。
杀死进程主要有下面几个命令:
功能 | 命令 |
---|---|
杀死某个进程 | kill |
按照进程名杀死进程 | killall |
按照进程名杀死进程,加 -t 能够按照终端号踢出用户 |
pkill |
杀死进程时,能够跟信号,信号不少,经常使用信号:
信号代号 | 信号名称 | 说明 |
---|---|---|
1 | SIGHUP | 让进程当即关闭,而后从新读取配置文件以后重启,平滑重启 |
2 | SIGINT | 程序终止信号,用于终止前台进程,至关于 ctrl + c 快捷键 |
9 | SIGKILL | 强制终止,用来当即结束程序的运行,本信号不能被阻塞、处理和忽略 |
15 | SIGTERM | 正常结束的信号,kill 命令默认就是这个信号,有时候进程已经发生问题,正常没法终止,此时会使用 -9 信号 |
因此经常使用杀死进程的命令:正常杀死 kill -1 2235
或者强制杀死 kill -9 2235
咱们能够 ps -le | more
来查看进程优先级:
PRI 表明 Priority , NI 表明 Nice,这两个值都是优先级,数字越小表明该进程优先级越高。用户只能修改 NI,不能直接修改 PRI,但系统最终取 PRI + NI 的值。NI 值的范围是 -20 到 19,普通用户调整 NI 值的范围是 0-19,并且只能调整本身的进程,root 用户才能设定进程 NI 值为负值。
可使用 nice
命令来修改优先级,nice <选项> 命令
,nice 命令能够给新执行的命令直接赋予 NI 值,可是不能修改已经存在进程的 NI 值。选项 -n 值
给命令赋予 NI 值。
好比修改 apache 的进程优先级 nice -n -5 service httpd start
若是要修改已存在的进程的优先级,须要使用 renice
命令,renice <优先级> PDID
,PID 为某一个进程的 ID。
好比 renice -10 2125
修改 ID 2125 的进程 NI 值为 -10。
把进程放入后台有两个主要命令:
<命令> &
把命令放入后台,并在后台执行<命令>
执行后按下 ctrl + z 快捷键,放在后台暂停查看正在后台的工做,可使用 jobs [-l]
命令,-l
是显示工做的 PID。
+
表明最近一个放入后台的工做,也是工做恢复时,默认恢复的工做,-
表明倒数第二个放入后台的工做。
恢复到前台:
fg %工做号
将后台暂停的工做恢复到前台执行,这里的 % 能够省略,注意工做号和 PID 的区别;bg %工做号
将后台暂停的工做恢复到后台执行,后台恢复执行的命令,是不能和前台有交互的,不然不能恢复到后台执行;后台命令脱离登录终端执行的方法:
/etc/rc.local
文件;nohup
命令;nohup
命令的使用方法 nohup <命令> &
Secure Shell(SSH)是创建在应用层基础上的安全网络协议,是专为远程登陆会话和其余网络服务提供安全性的协议,可有效弥补网络中的漏洞。经过 SSH,能够把全部传输的数据进行加密,也可以防止 DNS 欺骗和 IP 欺骗。还有一个额外的好处就是传输的数据是通过压缩的,因此能够加快传输的速度,已经成为Linux系统的标准配置。
ssh -p port <username>@<hostname or IP address>
复制代码
好比我这里购买的腾讯云服务器就可使用 ssh root@<公网IP/域名>
链接,若是你设置过域名对 IP 的映射,那么 @
后面写你的域名也能够,好比我就能够 ssh root@sherlocked93
链接服务器。
而后就是输入密码,就能够进入 CentOS 系统了,可是每次登录都须要密码,挺蠢的也不安全,咱们能够设置使用 SSH 密钥的方式,密钥登录的方式能够百度一下。
链接系统以后,能够经过 Ctrl+D 或者 exit
命令退出远程登陆。
链接上 CentOS 以后,命令行左侧的命令提示符含义以下:
SSH 能够经过 scp 命令来上传文件,是 Linux 系统下基于 SSH 登录进行安全的远程文件拷贝命令,scp 是 secure copy 的简写,可使用它上传本地文件夹到远程服务器,也能够从远程服务器上下载文件夹到本地:
# 上传文件夹到远程服务器 scp -P port -r /local/dir username@servername:/remote/dir # scp -p 2333 -r /test/a root@192.168.0.101:/var/b # 从远程服务器下载文件夹 scp -P port -r username@servername:/remote/dir/ /local/dir # scp -p 2333 -r root@192.168.0.101:/var/b /test/a 复制代码
-r
参数表示递归复制,即复制该目录下面的文件和目录,若是要上传单个文件,只要把 -r
删除。大写的 P
表示的是端口,若是仍是默认的 SSH 端口 22 没有更改,则不须要 -P
。
SSH 在使用时,常常会由于闲置时间过长而倍服务器自动断开,而后又要从新链接,比较麻烦,能够设置一下防止常常被服务器踢出。
一种方法就是修改服务器设置,找到所在用户的 .ssh
目录,如 root 用户该目录在:/root/.ssh/
,在该目录建立 config 文件
vim /root/.ssh/config
复制代码
加入下面一句:
ServerAliveInterval 60
复制代码
而后 ESC 再 :wq
保存退出,从新开启 root 用户的shell,则再 SSH 远程服务器的时候,不会由于长时间操做断开。
还有种方法设置 $TMOUT
系统环境变量
vim /etc/profile
在最后一行加上:
export TMOUT=0 复制代码
设置 TMOUT
参数为 0 的意思就是设置不超时,而后 ESC 再 :wq
保存退出,再 source /etc/profile
让配置当即生效。
参考文档:
PS:本人博客地址 Github - SHERlocked93/blog,也欢迎你们关注个人公众号【前端下午茶】,一块儿加油吧~
另外能够加入「前端下午茶交流群」微信群,长按识别下面二维码便可加我好友,备注加群,我拉你入群~