linux的一些管理方法
=======================================linux===========================================
1 用户管理
2 常用目录
3 linux下的文件和目录权限
4 授权管理
5 文件和目录管理
6 关于PATH
7 vi 的使用
8 网络管理
==========================================================================================
==== 1 用户管理
必须是root用户才可以进行用户的创建,删除等操作
who 可以查看当前有哪些用户处理登录状态
useradd 用户名
创建完用户以后,会在 /home目录下同时创建用户目录
比如
useradd cat ,会创建cat用户,并且在 /home下创建 cat目录
passwd 用户名
passwd cat 给cat用户改密码,然后它会提示输入密码
userdel 用户
删除用户
userdel cat 删除用户以后,它的用户目录还存在
userdel -r cat 删除用户以后,它的用户目录也会删除
==== 2 常用目录
/ 根目录,所有的目录都是有它衍生的
lrwxrwxrwx. 1 root root 7 12月 9 10:58 bin -> usr/bin // ***** 装的都是命令,可以被root和一般用户使用 cat, date, mv , mkdir, pwd 等等
dr-xr-xr-x. 5 root root 4096 12月 9 11:04 boot //启动相关内容
drwxr-xr-x. 20 root root 3340 12月 10 08:45 dev //设备文件
drwxr-xr-x. 75 root root 8192 12月 10 08:58 etc // ***** 系统的主要配置文件 比如ip,主机名等等
drwxr-xr-x. 3 root root 19 12月 10 08:58 home //***** 普通用户的家目录,都在home下
lrwxrwxrwx. 1 root root 7 12月 9 10:58 lib -> usr/lib //开机用的函数库等
lrwxrwxrwx. 1 root root 9 12月 9 10:58 lib64 -> usr/lib64 //开机用的函数库等
drwxr-xr-x. 2 root root 6 11月 5 2016 media //可移除装置,比如光盘,DVD等要挂载这个目录上
drwxr-xr-x. 2 root root 6 11月 5 2016 mnt //也是用于挂载某些装置的
drwxr-xr-x. 2 root root 6 11月 5 2016 opt //第三方协力软件放到这
dr-xr-xr-x. 115 root root 0 12月 10 08:45 proc //
dr-xr-x---. 2 root root 135 12月 9 13:52 root //***** root用户的家目录
drwxr-xr-x. 24 root root 700 12月 10 08:45 run //系统开机的时候产生的信息
lrwxrwxrwx. 1 root root 8 12月 9 10:58 sbin -> usr/sbin /里面是一些用来设置系统环境的命令,要有一定的权限才能执行
drwxr-xr-x. 2 root root 6 11月 5 2016 srv //一些网络服务相关的东西
dr-xr-xr-x. 13 root root 0 12月 10 08:45 sys //系统相关
drwxrwxrwt. 10 root root 4096 12月 10 08:46 tmp //***** 临时目录
drwxr-xr-x. 13 root root 155 12月 9 10:58 usr //***** 用户安装的一些软件放在这里
drwxr-xr-x. 19 root root 267 12月 9 12:34 var //装的是一些容易发生变动的内容
bin //命令 etc //配置 home //普通用户的家 tmp //临时 usr //软件
==== 3 linux下的文件和目录权限
linux 下的所有的文件,都有三个属性
所有者, 所属组, 其他组
>ls -al /etc 得到的内容: 文件类型与权限 连接数 所有者 所属组 大小 日期 名件 rwxr-xr-x. 75 root root 8192 12月 10 08:58 . dr-xr-xr-x. 18 root root 237 12月 9 14:17 .. -rw-r--r--. 1 root root 16 12月 9 11:03 adjtime -rw-r--r--. 1 root root 1518 6月 7 2013 aliases -rw-r--r--. 1 root root 12288 12月 9 12:35 aliases.db drwxr-xr-x. 2 root root 236 12月 9 10:59 alternatives -rw-------. 1 root root 541 8月 3 2017 anacrontab -rw-r--r--. 1 root root 55 3月 1 2017 asound.conf drwxr-x---. 3 root root 43 12月 9 10:59 audisp drwxr-x---. 3 root root 83 12月 9 12:34 audit .... drwxr-xr-x 的说明 ==> d rwx r-x r-x (1) d 代表它是一个目录 - 代表它是一个普通文件 l 代表它是一个链接(快捷方式) (2) rwx 文件的所有者对该文件所具有的权限 r 可读 ,w 可写, x 可执行 (3) r-x 文件所属组的其他成员对该文件所具有的权限 (4) r-x 其他成员对该文件所具有的权限 //例子 下面的目录, root能干什么 admin能干什么 drwxr-xr-x. 2 root root 6 12月 9 14:47 tools d rwx r-x r-x. 2 root root 对于root来说,能进入这个目录,能增加文件,删除文件 对于 admin 只有 r-x , 能进入这个目录,能读取目录里的内容,但不能进行增,删等动作
==== 4 授权管理
1) chmod 改变权限
chmod 直接改变文件或目录的权限
//例 >chmod 755 hello.java 给 hello.java 授 777这个权限 ==> rwx(7) rwx(7) rwx(7) r ==> 4 w ==> 2 x ==> 1 //例 >chmod 755 hello.java ==> rwx r-x r-x //例 >chmod u=rwx ,g=rx, o=r /hello.java //例 >chmod u-x ,g+w hello.java >chmod a+r hello.java 给所有的用户,在 hello.java 这个文件加上一个r权限 2) chown 改变所有者 //例 >chown admin tools 将tools 这个文件的所有者改成admin >chown -R admin cluster 将cluster 和里面所有的内容的所有者都改成admin 3) chgrp 改变所属组 //例 chown -R admin cluster 把 cluster的所属组改成 admin 关于文件和目录的 rwx 的意义 文件 r 可以读这个文件 cat a.txt w 可以编辑这个文件 vi a.txt //但不包扩删除这个文件 x 可以执行 目录 r 可以读取目录结构,可以查询目录下有哪些文件,用 ls 显示 w 建文件,建目,删除文件,移动文件或目录 x 可以进入 cd
==== 5 文件和目录管理
绝对路径和相对路径
. 代表本目录 .. 代表上级目录 ~ 代表家目录 相对路径的写法: > cd cluster //进入到当前目录下的cluster目录 > cd .. //进入上级 > cd ../root //进入到上级目录的root目录 绝对路径的写法: > cd /dev > cd /etc/profil.d/ > cd /etc/sysconfig/network-scripts/ 几个和目录相关的命令 cd pwd mkdir //建目录 >cd /tmp >mkdir aaa //ok >mkdir aaa/bbb/ccc //不能直接这么建,要先 mkdir aaa/bbb >mkdir -p xx/yy/zz/oo //用了 -p 参数就可以建多级参数 附: yum install 是从远程安装软件 yum install tree rmdir //删除目录 (要求目录为空) rm //移除文件的, 可以用 -r 参数, 会把里面的文件和目录全删除 >rm -rf xx //把 xx目录里的内容连同xx 都删除 几个和文件相关的命令 ls //例出文件 -a 全部文件,包含隐含文件 -h 以比较易读的方式把文件的大小显示出来 cp //复制 > cp a.xml a_back.xml //所a.xml 复制一份到当前路径下 > cp *.xml /tools/hadoop //把所有以 .xml 结尾的文件复制到 /tools/hadoop 目录 rm //移除 -i 输出提示信息 -f 强制删除 //危险 -r 递归删除 //危险 >rm *.xml 可以用通配符 >rm java.* mv //移动 mv a_back.xml tmp mv a.exe b.exe c.exe /tools mv tools mytools //给 tools重命名成 mytools 文件内容的查看 cat //查看文件内容 >cat ifcfg-ens33 >cat -n ifcfg-ens33 tac //查看文件内容,倒着看 nl //查看文件的内容,带行号 more //一页一页的查看 less //一页一页的查看
==== 6 关于PATH
ROOT 用户:
echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin ==> /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /root/bin //例子 将 cat 这个文件 由 /bin目录,移动到 /tmp > mv /bin/cat /tmp 进行完上面的操作以后,发现在任何地方执行 cat 都不好用了,包扩 在/tmp 也不行 >cd /tmp >./cat a.xml //可以, 这是以相对路径的方式执行 > /tmp/cat /sheep.java //可以,绝对路径的方式 也可以将 /tmp 放到 PATH 中 > PATH=$PATH:/tmp > echo $PATH 可以发现,在任何路径下都可以执行cat了 别忘了再把cat命令搬回来 > mv /tmp/cat /bin 指令的搜索顺序 1) 以相对路径或绝对路径的,是最优先的 /tmp/cat ./cat 2) 由 alias 找到该命来执行 3) 由 bash 内建的命令来执行 4) 按path指定的路径来找这个命令 总之, 绝对相对路径是最优先的
==== 7 vi 的使用
vi
vim
vi的 编辑状态为三种模式 1) 一般指令模式 用vi 直接打开一个文件,就处于这个模式,可以移动光标,删除,复制粘贴等, 但是不能编辑 2)编辑模式 按 i 进入编辑模式,可以按esc退出 3) 指令模式 在一般模式下,按下 : 这时,光标会移动到屏幕最后一行,可以输入命令 关于保存的指令 :w 保存文件,但不退出 :wq 保存并退出 :q 退出,但不保存 :q! 强制退出 :wq! 强制保存并退出 :w fileName 相当于另存为 :set nu 显示行号 :set nonu 去掉行号 有时候,不知道什么原因被锁住了,可以按 ctl +q =====一般模式式的快捷键 ===== ctl +f 向上翻页 ctl +b 向下翻页 可以用数字配合方向键 40 -> 向左移动40个, 其他的也类似, //很好用 ** n +数字 +空格 光标会向右移动n个位置 //好用 ** 0 或 home移动到这一行的最前面 //好用 ** $ 或 end 移动到这一行的最后 //好用 H,M,L (必须大写) 光标移动到当前页面的 最前, 中间,最后 一行的第一个字符 //好用 G 移到最后一行 //好用 gg (小写) 移到第一行 //好用 N (大小写不分)回车 光标向下移动n行 //好用 /void 查询void这个字符串,实测发现找到全部 //好用 ?void 向上寻找 实测和上面的效果相同 :1$s/main/xxx/g 把全部的 main 换成 xxx :1$s/main/xxx/gc 同上,但每个替换进行之前要确认 //很好用 x/X 向后/向前 删除一个字符 dd 删除光标所在一行 //常用 ndd 删除光标所在的向下n行 //好用 yy 复制光标所在的那一行 p/P粘巾 u 复原前一个操作 //常用 crtl r 重做前一个动作 //常用 . 重复前一个操作 //常用
==== 8 网络管理
1) 查看ip
>ifconfig
2) 查看主机名
>hostname
3) 修改主机名
> vi /etc/hostname
> reboot
4) 修改 id 地址
>cd /etc/sysconfig/network-scripts/
>vi ifcfg-ens33
TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="none" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="ens33" UUID="33185e43-3225-4a33-a983-153667a2a66a" DEVICE="ens33" ONBOOT="yes" /*****/ IPADDR="192.168.83.100" /*****/ PREFIX="24" /*****/ 24=> 255.255.255.0 GATEWAY="192.168.83.2" /*****/ 默认网关 DNS1="114.114.114.114" /*****/ IPV6_PRIVACY="no" > service network restart 重启网络服务 5) ping 测试网络 可以按ctl +c 结束 6) 关闭,打开防火墙 查看状态 >systemctl status firewalld.service 查看防火墙状态 firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled) Active: active (running) since 二 2019-12-10 08:45:54 CST; 5h 57min ago //从active (running)可以看出来,是开着的 Docs: man:firewalld(1) Main PID: 705 (firewalld) CGroup: /system.slice/firewalld.service └─705 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid 关掉 >systemctl stop firewalld.service 停了以后,再查看状态 Active: inactive (dead) 证明停了 执行开机禁用防火墙自启命令 : systemctl disable firewalld.service 完成 ============================================================ 关于防火墙的其他命令: 启动:systemctl start firewalld.service 防火墙随系统开启启动 : systemctl enable firewalld.service 启动 >systemctl start firewalld.service 禁用 下次再启动电脑,也不可用了 > systemctl disable firewalld.service 7) 修改主机名和ip的配置 >vi /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.83.100 linda