linux 入门走一波
前沿 - 为啥要入门
虽然咱们是大前端,虽然咱们用的是 JS,但是,咱的服务可都是放在 linux 服务上的啊。看个日志啥的,基本骚操作都不会,怎么调试 bug 呀?(这里多指 node 后端哈)。服务器上启动程序失败了,看错误好像是端口的问题,这个怎么操作啊?明明我的一个 shell 文件,为啥不能执行啊?等等。这样看似很基础的问题。其实我们不用掌握很多很多,掌握得多了,知识面广了,都有能力做运维了(当然得先做好本职工作,有时间有能力就可以去多学习)。下面我就分这么几方面来讲讲我眼中的入门。申明:本人 linux 渣渣一个,只是看 linux 从入门到精通后,把自己觉得有必要学习的东西分享一下,大神勿喷,有好的建议尽管来。哈哈。
要讲滴内容
历史、安装、基本配置 略 。
基础工具 1 2 3 man xxx whatis xxx apropos function
文件相关 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 mkdir dir touch file.ext pwd mv file1 file2 mv file1 ./dir/file2 rm file rm -f dir cp file1 file2 cd dir cd - ls cat file.ext head file.ext tail file.ext less file.ext find dir grep locate file.ext ls -l ln -s source_file target_file
管道操作 所谓管道就像小学数学的一根水管进,一根水管出,问你多久装满水池的问题。呸,不是!!!管道就是一个水管出,可以让其流入其它管道。数据在其中转换、流动。但是需要记住的一点,不是所有命令都支持管道操作。for example,
1 2 cat access.log | grep 127.0.0.1 | tee filter.log
输出重定向
输入重定向 通常来说,标准输入总是指向键盘。比如使用不带任何参数的 cat 命令。
1 2 3 4 5 6 7 8 cat > cat <<EOF # 这叫做立即文档(here document) > sfes > fsefsefs > EOF ls | grep hehe
网络相关 服务器相关 一般服务器会预装 ftp 文件服务器和 ssh 远程连接服务。两个命令分别是 sftp 和 ssh。
http 服务器 咱们前端部署的一般是 node 服务。
进程相关 终止程序 前台的程序一般可以通过 Ctrl + C 来终结(可能会被程序拦截),后台的程序只能手动使用 kill 去杀死。
知识点介绍
PID:进程的 ID 号。每一个进程都有自己的唯一 ID。
PPID:父进程的 PID。
UID 和 EUID:真实和有效的用户 ID。只有进程的创建者和 root 用户有才权利对该进程进行操作。EUID 会在存在 setuid 程序的时候被用到。
GID 和 EGID:同上,只是对象变成了创建者所属的组 ID 号。
谦让度和优先级:对进程操作工具可见的是谦让度。谦让度越低,优先级越高,这个进程就更早地被处理。
进程工具 1 2 3 4 5 6 7 8 ps aux top losf file kill pid Ctrl + C sudo kill -9 pig nice -n 2 bc renice +12 -p pid
守护进程 守护进程专用于管理其下的子进程,当子进程出现意外时,按照守护进程的逻辑进行相应的处理。比如为 http 服务器设置的守护进程,一般当 http 服务器宕机或者 cpu 占用异常时,可以重启服务。对于 ssh 连接,也有专门的 sshd 守护进程保护。当有 ssh 连接请求时,sshd 新建一个 ssh 连接用于通信。当结束 ssh 连接后,sshd 善后。
权限相关 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ls -l chown owner:group file chown owner file chown :group file chown owner -R dir chmod u+x file chmod u-x file chmod +x file who whoami uname -a sudo useradd -m tzx sudo passwd tzx groupadd groupname id user groups user gpasswd
系统维护 1 2 3 4 5 tar -cvf file.tar dir tar -xvf file.tar df
配置 /etc/crontab 文件,可以定时执行任务。
实用命令