me

linux


linux 目录

目录解释
/bin存放最常使用的命令
/boot启动 Linux 时使用的一些核心文件
/dev存放 linux 外部的设备,在 linux 中访问设备的方式和访问文件的方式是相同的
/etc这个目录用来存放所有的系统管理所需的配置文件和子目录
/home用户的主目录,在 linux 中共每个用户都有一个自己的目录,一般该目录是由用户账号命名
/lib这个目录存放系统最基本的动态连接共享库,类似于 windows 的 dll 文件
/lost+found一般情况是空的,非法关机后,就会存放一些文件
/media识别设备 (例如 u 盘等) 识别后,linux 会把识别的设备挂载到这个目录
/mnt让用户临时挂别的文件系统,可以将光驱挂载在/mnt
/opt这是给主机额外安装软件所摆放的
/proc虚拟目录。存放系统内存的映射
/root系统管理员
/run临时文件系统,存储系统启动依赖的信息.(重启会被删掉)
/sbin存放的是使用的系统管理程序
/srv存放一些服务启动之后需要提取的数据
/sys2.6 之后才有的。该目录安装了 2.6 内核中出现的新的文件系统 sysfs
/tmp存放临时文件,用完即删
/usr用户的很多程序文件都在这个目录下,类似于program files
/usr/bin系统用户使用的应用程序
/usr/sbin超级用户使用的比较高级的管理员程序和系统守护程序
/usr/src内核源代码默认存放的目录
/var这个目录存放着不断扩充的东子

常用命令

查看文件属性和修改

修改文件属性

r:4   w:2   x:1
chmod 770 filename # rwxrwx---

文件内容查看

/etc/sysconfig/network-scripts:linux 网络配置文件

linux 链接的概念

ls -a 有箭头指向的是软连接

账号管理

一些云服务器会限制使用 root 或者密码登录,这时候我们需要更改它的默认配置

添加用户:useradd -选项 用户名

删除指定的用户:userdel 选项 用户名

修改用户:usermod 选项 用户名

[root@VM-12-17-centos home]# usermod -d /home/fw1314 fw

# 在/etc/password查看
fw:x:1001:1001::/home/fw1314:/bin/bash

加入 sudo 用户组

Ubuntu, kbuntu, debian, etc

usermod -a -G sudo user

RedHat, Fedora, CentOS, etc

usermod -a -G wheel user

切换用户

  • root 给用户设置密码:passwd 用户名
  • 普通用户直接输入:passwd,修改密码

锁定账户

  • passwd -l 用户名:将该账户锁定
  • passwd -d 用户名:将这个账户密码清空

用户组管理

每个用户都有一个用户组,系统可以对一个用户组种的所有用户进行集中管理 (例如开发,测试,运维,root 等).不同的 Linux 系统对用户组的规定有所不同

用户组的管理涉及用户组的添加,修改,删除。组的增加,删除和修改实际上就是对 /etc/group 文件的更新

[root@VM-12-17-centos home]# groupadd fw1314 -g 120
# fw1314:x:120:

删除用户组 groupdel 组名

修改用户组的权限groupmod 选项 组名

修改用户组 (一般直接在创建用户时使用 -G 分配组)

文件的查看

root:x:0:0:root:/root:/bin/bash

磁盘管理

Mac 或者用 Linux 挂载一些本地磁盘或者文件

进程管理

ps 选项:查看系统中正在进行的进程信息

选项 解释 -a 显示当前终端运行的所有进程信息 (当前的进程) -u 以用户的信息显示进程 -x 显示后台运行进程的参数

A|B #使用A命令的结果来操作B命令
ps -aux # 查看所有的进程
ps -aux | grep nginx
ps -ef | grep nginx

# 一般使用目录树结构查看
pstree -pu

结束进程

kill -9 873518

防火墙

由于你开了防火墙的同时,可能还有 docker 服务,会遇到如下错误

Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen (4127da7466709fd45695a1fbe98e13c2ac30c2a554e18fb902ef5a03ba308438): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9000 -j DNAT --to-destination 172.17.0.2:80 ! -i docker0: iptables: No chain/target/match by that name.
(exit status 1))

当 firewalld 启动或者重启的时候,将会从 iptables 中移除 DOCKER 的规则,从而影响了 Docker 的正常工作。

当你使用的是 Systemd 的时候,firewalld 会在 Docker 之前启动,但是如果你在 Docker 启动之后再启 或者重启 firewalld,你就需要重启 Docker 进程了

systemctl restart docker

env

scp

假设我们有两台主机 A and B,但是我们现在在主机 A 中

curl

使用 curl url 可以返回对方的响应地址,默认是 get 请求

curl 'https://s1.hdslb.com/bfs/seed/bplus-common/icon-font/2.1.2/bp-icon-font.css'
# 添加 json 格式的数据
curl -XPOST url -d '{"fw":"me"}'
curl -XPUT url -d '{"update":"更新数据"}'

如果我们需要添加 header 信息,需要使用 -H 选项

# 如果需要多个 header,可以添加多个 -H,例如 -H ... -H ...
curl -XPOST url -H 'Content-Type:application/json' -d '{"fw":"me"}'
curl -I 'https://s1.hdslb.com/bfs/seed/bplus-common/icon-font/2.1.2/bp-icon-font.css'

如果目标端有资源需要处理,需要使用 curl -O url, 会将资源直接下载到当前的目标的文件夹中

curl -O 'https://s1.hdslb.com/bfs/seed/bplus-common/icon-font/2.1.2/bp-icon-font.css'
curl -o fw.css 'https://s1.hdslb.com/bfs/seed/bplus-common/icon-font/2.1.2/bp-icon-font.css'
curl --limit-rate 100k -o fw.css 'https://s1.hdslb.com/bfs/seed/bplus-common/icon-font/2.1.2/bp-icon-font.css'
#因为这里不需要其他参数,所以 -C 后跟 -
curl -C - -o fw.css 'https://s1.hdslb.com/bfs/seed/bplus-common/icon-font/2.1.2/bp-icon-font.css'

curl 默认不会跟着重定向

curl https://www.bilibili.com -L

如果想要查看连接的所有信息,需要使用 -v

curl -v https://www.bilibili.com -L
curl --proxy "https://xxx@ip:port" url
curl -u user:password -O ftp://server/xxx
curl -u user:password -T file ftp://server/xxx

alias

设置别名

alias rm="rm i"

取消别名

unalias rm

命令历史

查看所有命令历史

history

查看上一条命令

!!

快捷键

文本处理工具