zoukankan      html  css  js  c++  java
  • linux 命令汇总

      1 linux 命令总结
      2 ctrl+alt+F1              返回F1终端
      3 ctrl+alt+F2             切换到终端2   类似一直可以切换到F6(共6个终端)
      4 exit                    退出当前用户
      5 init 0                    关闭系统
      6 su - root                切换当前用户(管理员账号)
      7 pwd                        查看当前路径
      8 id                        当前用户信息
      9 who                        当前登录所有用户
     10 whoami                    当前登录用户信息
     110                 图形界面
     12     pts                    图形界面打开的终端
     13     tty                 命令行登录的终端
     14 date -s ‘2018-05-25 11:23’                修改系统当前时间
     15 date 082611282018                         #按照 ‘月日时分年’ 的格式
     16 cal 10 2015                查看日历
     17 man - ls                查看命令使用方法
     18 ls --help                查看命令使用方法
     19 clear
     20 ctrl+L                    清除屏幕
     21 useradd tom                添加用户
     22 userdel -r                删除用户
     23 passwd                     #root可以修改任何用户密码,普通用户只能修改自己的密码
     24 echo '123' | passwd --stdin  tom   强制给用户更改密码
     25 cd  (change directory)  切换文件目录
     26 
     27   ~                      当前用户家目录
     28     .                     当前目录
     29   ..                  代表上一层目录
     30     ../..                上一级目录的上一级目录
     31   -                      代表上一次目录
     32 
     33 touch                     新建文件
     34 mkdir                     新建文件夹/目录
     35    -p                     递归建目录(即可以创建系统没有的目录)
     36     
     37 rm                      删除文件
     38     -r                 删除目录
     39    –rf                 强制删除文件、目录
     40 
     41 ctrl+A                  定位到命令行开头
     42 ctrl+E                     定位点命令行结尾
     43 ls                         查看当前目录文件
     44     -l                    查看当前目录详细信息
     45     -l -d                查看目录本身的信息,可简写为 ll -d
     46     -a                    查看所以文件,包括隐藏文件
     47     -h                    显示文件大小
     48 
     49 cp 源路径 目标路径        复制文件或目录
     50 cp -r                    递归拷贝,用来拷贝目录
     51 cp -a                    拷贝文件及文件的详细信息
     52 mv                        剪切命令,同时可以用来重命名
     53     alex.txt asb.txt    重命名
     54 cp                        使用最原始的cp命令,即强制拷贝
     55 which cp                查看cp命令信息
     56 cat                        查看文件内容,读取全部文件内容
     57 head -n                 查看文件前n行内容
     58      -n +23                从第23行开始,显示文件n行内容
     59 tail -n                    查看文件后n行内容
     60      -f                    只读的方式,实时查看文件内容
     61 more /file1                以百分百的方式查看文件内容
     62 less /file1                以上下翻页的方法查看文件内容
     63 > 文件                    将左边内容以覆盖的方式添加到右边的文件中
     64 >> 文件                    将左边内容以追加的方式添加到右边的文件中
     65 echo 'hedeyong_linux'>>  /FtpServe/bin/start.py     往start.py文件追加内容
     66 echo 'hedeyong_linux'>  /FtpServe/bin/start.py         以覆盖的方式往start.py文件添加内容
     67     
     68 useradd user1            
     69     -c comment 指定一段注释性描述。
     70     -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
     71     -g 用户组 指定用户所属的用户组。
     72     -G 用户组,用户组 指定用户所属的附加组。
     73     -s Shell文件 指定用户的登录Shell。/bin/bash  或:sbin/nologin不可登录
     74     -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号
     75 #创建一个用户时,系统创建的文件    
     76     /etc/passwd             存放用户的信息,一行为一个用户信息
     77     /etc/shadow                存放用户的密码文件
     78     /etc/group                存放组信息
     79     /etc/gshadow            存放组密码
     80     /home/user1                用户家目录,需要用mkdir命令创建
     81     /var/spool/mail/user1     用户的邮箱,需要用touch命令创建
     82 
     83 root的用户信息:
     84     root:x:0:0:root:/root:/bin/bash
     85 root:用户名
     86 x:密码占位符  密码文件 /etc/shadow
     87 0:userid
     88 0:groupid
     89 root:用户的描述信息,可有可无
     90 /root:用户的家目录
     91 /bin/bash  : 标识该用户是否可登录,/bin/bash可登录   /sbin/nologin不可登录
     92 
     93 组文件:/etc/group    
     94     wheel:x:10:egon,user1
     95 wheel:组名
     96 x:组密码占位符
     97 10:组id
     98 egon,user1:组成员。可通过vim编辑添加组成员
     99 
    100 vim             编辑文件
    101     a          进入编辑模式,然后可通过上下键选择
    102     esc         推出编辑
    103     yy         复制文件或目录
    104     p         粘贴
    105     dd         删除文件
    106     G         调到最后一行
    107     shift+:  输入命令
    108     wq         保存退出
    109     wq!     强制保存退出
    110 
    111 usermod            修改用户账号的各项设定
    112     -c<备注>  修改用户帐号的备注文字。 
    113     -d登入目录>  修改用户登入时的目录。 
    114     -e<有效期限>  修改帐号的有效期限。 
    115     -f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。 
    116     -g<群组>  修改用户所属的群组。 
    117     -G<群组>  修改用户所属的附加群组。 
    118     -l<帐号名称>  修改用户帐号名称。 
    119     -L  锁定用户密码,使密码无效。 
    120     -s<shell>  修改用户登入后所使用的shell。 
    121     -u<uid>  修改用户ID。 
    122     -U  解除密码锁定。 
    123     -a    追加,例如:usermod user1 -a -G group2    为用户user1的附加群组追加一个group2的群组
    124                       usermod -a -G group2 user1
    125 groupadd            创建一个组
    126     -g:            指定新建工作组的id;
    127 groupmod            功能说明:更改群组识别码或名称。 
    128                     语  法:groupmod [-g <群组识别码> <-o>][-n <新群组名称>][群组名称] 
    129     groupmod -n linux linuxso   将linuxso组改名为linux
    130 groupdel             删除组
    131 
    132 文件权限信息:
    133     -rw-r--r--. 1 root root 2262 5月  24 19:39 /etc/passwd
    134 第一段内容:代表文件类型
    135 -     普通文件
    136 d    目录文件
    137 b    块文件
    138 l   链接文件
    139 p   管道文件
    140 s   socket文件
    141 rw-r--r--表示:
    142 r:read 可读        对应数字 4
    143 w:write 可写       对应数字 2
    144 x:execute 可执行   对应数字 1
    145 -:占位符            对应数字 0
    146     前面三位对应的文件的属主对该文件的权限
    147     中间三位对应的文件的属组对该文件的权限
    148     后面三位对应的文件的其他人对该文件的权限
    149 对文件:
    150     读:可以读文件的内容
    151     写:可以修改文件的内容
    152     执行:可以把文件当做程序去执行  #需要有可读权限
    153 对目录:
    154     读:可以浏览到该目录下的子目录和子文件名
    155     写:可以在该目录下新建文件,删除文件,重命名文件
    156     执行:可以cd进去改目录
    157 
    158 chown             修改文件属主和组信息(即组权限)
    159     -R            递归修改目录
    160     chown egon:egon /home/oldboy   更改oldboy用户的属主和组信息
    161     
    162 chmod             更改文件权限
    163     -R             对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
    164     chmod u=r,g=-,o=r egon.txt        #u:属主 g:组 o:其他人 a:表示三者   -表示什么权限都不给
    165     chmod a=rwx file          和 chmod 777 file 效果一样
    166     chmod u+x ex1.py          将 ex1.py 设定为只有该档案拥有者可以执行 
    167     
    168 sh egon.txt     执行文件的内容
    169 ./ echo.txt        验证文件内容
    170 
    171 cat.a.txt b.txt > c.txt     将a.txt b.txt 合并成一个文件
    172 touch {a..c}{1..3}.txt        快速创建文件(a1.txt a2.txt a3.txt b1.txt b2.txt b3.txt c1.txt c2.txt c3.txt)
    173 tar                            归档命令
    174     c                        创建一个新的tar文件
    175     t                        列出tar文件中目录的内容。
    176     x                        从tar文件中抽取文件。
    177     f                        指定归档文件或磁带(也可能是软盘)设备(一般都要选)。
    178     v                        显示所打包的文件的详细信息,v是verbose的第1个字母。
    179     z                        使用gzip压缩算法来压缩打包后的文件。
    180     j                        使用bzip2压缩算法来压缩打包后的文件。
    181 tar -cvf arch.tar arch         将arch目录打包成一个名为arch.tar的归档文件
    182 tar -cvf my.tar /etc /root/an.cfg   将 /etc/ 目录和 /root/an.cfg 文件打包进去为my.tar
    183 tar -cvf /tmp/test test.tar *        将该路径下所有文件打包至/tmp/test
    184 tar -cvf /tmp/etc.tar /etc             将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar仅打包,不压缩!
    185 tar -zcvf /tmp/etc.tar.gz /etc        将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar打包后,以 gzip 压缩
    186 tar -jcvf /tmp/etc.tar.bz2 /etc     将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar打包后,以 bzip2 压缩
    187 tar xvf test.tar                    解压打包文件
    188 tar xvf /tmp/test.tar –C /test2                将/tmp下test.tar文件解压至/test2目录下
    189 tar xvf /tmp/test.tar.bz2 –C /test2        将/tmp下test.tar.bz2文件解压至/test2目录下
    190 
    191 gzip test.tar.gz                        用gzip方式压缩
    192     gunzip test.tar.gz                用gzip方式解压缩
    193 bzip2 test.tar.bz2                        用bzip2方式压缩
    194     bunzip2 test.tar.bz2            用bzip2方式解压缩
    195 
    196 vi                        编辑器
    197 vim 文本路径            #只能打开文本文件
    198 进入命令行模式
    199     a/A                    进入插入模式并在光标之后进行添加。
    200     i                    进入插入模式并在光标之前进行插入。
    201     o                    进入插入模式并在当前(光标所在)行之下开启新的一行。
    202     esc                    返回命令行模式
    203 命令行模式:
    204     G                     转到文件末尾       数字n+G 跳转至第n行
    205     gg                     转到文件开头
    206     H                     跳到当前屏幕最上方的第一个字符
    207     M                    跳到当前屏幕中间一行的第一个字符
    208     L                    跳到当前屏幕最下方的第一个字符
    209     $                     转到行尾
    210     0                     转到行首
    211     yy                     复制     先按数字3,再按yy,复制三行
    212     P(大写)            在下一行粘贴     先按数字n,再按p ,粘贴n行
    213     p                     在上一行粘贴     先按数字n,再按p ,粘贴n行
    214     dd                     删除    先按数字n,再按dd ,删除n行
    215     u                   撤销当前操作
    216     ctrl+r              恢复一步操作
    217     /bash  +n           查找含bash文件,按n跳转
    218 扩展模式
    219     shift+:             进入扩展模式,esc 返回命令行模式
    220     w                    保存
    221     q                    退出(不保存)  q!强制退出并保存
    222     wq                    保存退出
    223     wq!                强制保存退出
    224     s                     修改当前行
    225     %s                  表示所有行,即全文
    226     g                     一行的所有内容
    227     %s /python/PYTHON/g      将全篇文章的python替换成PYTHON
    228 
    229 init 0                     关机
    230 init 1                     以root用户进入单用户模式
    231 init 2                    多用户模式,但没有启用网络功能
    232 init 3                    多用户 文本终端
    233 init 4                     多用户自定义模式,开发使用
    234 init 5                     多用户 图形界面
    235 init 6                     重启
    236 
    237 关闭系统的命令:
    238     shutdown -h now 
    239     halt
    240     poweroff
    241     init 0
    242 重启系统的命令:
    243     shutdown -r now
    244     reboot
    245     init 6
    246     Ctrl+Alt+Delete键
    247     
    248 单用户模式修改root用户密码
    249     1)重启按e 进入进入到GRUB启动菜单
    250     2)找到单用户配置文件  (开头:linux16 /Vmlinuz-3.10
    251     3)删除rhgb quiet  设置
    252     4)在UTF-8后面输入:init=/bin/sh
    253     5)ctrl+x 重启
    254     6)输入:monut -o remount,rw /
    255     7)vi/vim 进入/etc /passwd  删除root用户密码占位符
    256         或者echo ‘abc123’ | passwd –stdin root  给root用户重置密码,
    257     8)输入 touch  /.autorelabel 更新系统信息    
    258     9) 输入 exec /sbin/init 重启系统
    259 
    260 系统监控
    261 top                            查看CPU和进程状态
    262 free                          监控内存   以kb为单位
    263 free –w                      buffer cache 分开计算
    264 free –m                     监控内存  以Mb为单位
    265     buffer                  缓解内存和硬盘之间的速度差, 为一些将要写入内存但还没有写入的数据
    266     cache                      已经写入内存,为方便再次取用而缓存的一些常用数据
    267 ps                            用来显示当前进程的状态。
    268 Ps –aux                     显示所有的与用户相关的完整信息
    269 ps aux | head -3            查看前三条
    270 ps aux | grep ‘firefox’ head -3    查找firefox的进程 (grep 过滤)
    271 ps –elf                     查看进程,并查看父进程id号
    272 
    273 pgrep                        通过名称或其他属性查找进程
    274 pgrep firefox                查找名为firefox的进程
    275 kill -9 11727               强制杀死进程号为11727的进程
    276      -9                     强制杀死
    277 pkill -9 进程名             按进程名杀
    278 pstree 进程名/进程号           查看进程树
    279 
    280 
    281 echo $[1+2]                 简单计算
    282 uname –r                    查看系统内核版本
    283 uname –a                    查看系统内核版本
    284 cat /etc/redhat-release        查看系统版本
    285 while :;do free ;slepp 1;clear;done        每秒查看一次内存,并清屏
    286 echo 3 > /proc/sys/vm/drop_caches            清除缓存cache
    287 top &                         后台运行
    288 
    289 df               显示文件系统中磁盘使用和空闲区的数量
    290     –h           以G为单位查看
    291     -i           以文件数查看
    292     -T             查看文件类型
    293     -a             显示所有磁盘
    294 du  -sh /etc    统计/etc的文件夹大小
    295 dd if=/dev/zero of=/a.txt bs=200MB count=1   测试硬盘读写速度
    296 0
    297 fdisk            创建磁盘分区。
    298     -d            删除一个(已经存在的)分区,其中d是delete的第1个字母。
    299     -l            列出(已经存在的)分区的类型,其中l是list的第1个字母。
    300     -m            列出fdisk中使用的所有命令,其中m是menu的第1个字母。
    301     -n            添加一个新的分区,其中n是new的第1个字母。
    302         p        主分区
    303         e        扩展分区
    304         l        逻辑分区
    305     -p            列出分区表的内容,其中p是print的第1个字母。
    306     -q            退出fdisk,但是不存储所做的变化,其中q是quit的第1个字母。
    307     -t            改变分区系统的id,其中t是title的第1个字母。
    308     -w            退出fdisk并存储所做的变化,其中w是write的第1个字母。
    309 fdisk -l /dev/sda        查看第一块硬盘分区信息
    310 mkfs                    格式化磁盘
    311 mkfs.ext4 /dev/sdb1        将分区/dev/sdb1格式化为ext4文件系统
    312 mkfs.xfs /dev/sdb1        将分区/dev/sdb1格式化为xfs文件系统
    313 
    314 mkswap /dev/sdb2        使用 mkswap 命令将/dev/sdb2设置交换分区
    315 swapon /dev/sdb2        启用交换分区
    316 swapon -s                查看交换分区的状态
    317 
    318 挂载的定义:挂载指将一个设备(通常是存储设备)挂接到一个已存在的目录上。
    319 mount                    实现文件系统的挂载。
    320 mount /dev/sdb1 /wg        将/dev/sdb1分区挂载到/wg目录上的命令
    321 
    322 umount                    实现文件系统的卸载。
    323 umount /wg                卸载/wg上的文件系统的命令:
    324     -l                    强制卸载
    325     
    326 yum install net- tools -y    yum下安装net工具包
    327 
    328 iptables -F             清空防火墙网络规则
    329 setenforce 0            表示临时关闭selinux防火墙 (执行这两条命令会断网)
    330 ifconfig                 临时设置ip地址(重启失效)
    331 ifconfig ens33 101.5.210.1/24         将ens33网卡设置ip地址为101.6.210.1,子网掩码为:255.255.255.0
    332 ifconfig ens33:0 101.5.210.1/24     设置虚拟网卡
    333 ifconfig ens33 down                 关闭网卡
    334 ifconfig ens33 up                    启动网卡
    335 
    336 cd /etc/sysconfig/network-scripts/        网卡配置文件存放路径,修改配置文件可永久修改ip地址
    337 vim ifcfg-ens33                            修改网卡配置文件
    338     HWADDR=
    339     TYPE=
    340     BOOTPROTO=static
    341     IPADDER=
    342     NETMASK=
    343     GATEWAY=
    344     DNS1=
    345     DNS2=
    346     NAME=
    347     UUID=
    348     ONBOOT=YES
    349 systemctl restart network             重启网络状态
    350 systemctl status network             查看网络状态
    351 systemctl stop network                关闭网络
    352 systemctl start network                开启网络
    353 
    354 route-n                                查看网关
    355 vim /etc/resolv.conf                修改dns配置文件
    356     nameserver 166.111.8.28            #添加dns配置信息
    357     nameserver 166.111.8.29            #添加dns配置信息
    358 vim /etc/hosts                        本地解析,指定解析服务器,优先级高于resolv
    359     166.111.8.28 www.baidu.comm        制定166.111.8.28服务器解析www.baidu.com域名
    360 route add default gw 101.5.210.1 dev ens33        #为网卡ens33增加网关101.5.210.1
    361 route del default gw 101.5.210.1 dev ens33        ##删除网卡ens33的网关101.5.210.1
    362 
    363 软件包管理
    364 rpm :二进制格式软件包
    365 rpm –ivh            安装rpm包
    366     –i                安装(Install)软件。
    367     –U                升级(Upgrade)旧版本的软件。
    368     –e                移除/删除(Erase)软件。
    369     –v                显示详细的处理信息。
    370     –h                显示安装进度。卸载不能用
    371     -q  zsh            查看zsh软件包是否安装成功
    372     -qa                显示目前操作系统上安装的全部软件包
    373     -qa | grep zsh
    374     -ql                查看软件包安装路劲
    375     -qi                查看安装软件包的详细信息
    376     -qf                查看某一个文件是哪个软件包产生的显示这个文件是由哪个软件包安装的
    377 rpm –e zsh            卸载zsh软件包
    378 rpm –e zsh --nodeps 忽略依赖性,强制卸载zsh包
    379 rpm –ivh zsh --force    #在已安装软件包的情况下,强制安装,即手动更新。
    380 rpm -ivh http-*            #下载以http开头的所有软件包
    381 
    382 
    383 
    384 yum:自动解决依赖性安装二进制软件包
    385 mount /dev/sr0 /media    #将光盘挂载到/media目录下
    386 
    387 yum –y install 软件名                掌握使用yum安装软件
    388 yum –y remove 软件名                掌握使用yum删除软件
    389 yum –y groupinstall 组件名           掌握使用yum安装组件
    390 yum –y groupremove 组件名            掌握使用yum删除组件
    391 yum clean all                        掌握清除yum缓存
    392 yum search                            使用yum查找软件包
    393 yum - y erase apr                    卸载apr软件包
    394 yum - y install http*                下载以http开头的所有软件包
    395 
    396 
    397 cd /etc/yum.repos.d                 查看yum网络源配置文件 (vim Cent_Bas.repos)
    398 cd /media/repodata 
    399 
    400 自己手动配置yum云:
    401 源目录: /media
    402 cd /etc/yum.repos.d
    403 vim tset.repo
    404     [标题:test]
    405     name=shoudong peizhianzhaung yuan
    406     baseurl=file:///media
    407     enable=1
    408     gpgcheck=0
    409 yum install httpd    配置完成后即可安装
    410 
    411 手动关闭yum自动更新
    412 vim /etc/yum/yum-cron-hourly.conf
    413     download_updates = no            #参数yes改为no
    414     
    415 vim /etc/yum.conf 
    416     cachedir=/缓存地址
    417     keepcache=1
    418 手动配置yum缓存
    419 yum makecache -y
    420 mkdir /my_repo                                #创建自己的配置源
    421 cp /rpms/base/packages/* /my_repo         #将软件包拷贝到自己的配置源
    422 
    423 手动配置依赖性关系
    424 rpm -ivh createrepo-0.9.9-23.rpm  安装createrepo命令工具
    425 createrepo /my_repo/
    426 vim /etc/yum.repos.d/http.repo   
    427     [httpd]
    428     name=httpd
    429     baseurl=file:///my_repo
    430     enable=1
    431     gpgcheck=0
    432     
    433 yum grouplist    查看yum软件包组
    434 yum -y groupinstall "systemtools"    安装systemtools软件包组
    435 
    436 手动配置python3.6   须先安装开发工具、zlib-*系列包
    437 yum install lrzsz                    安装lrzsz软件包,用来向虚拟机传输数据
    438 tar -xvf Python                        解包,完成后自动创建一个Pytho的目录
    439 ./python/configure --prefix=/usr/local/python3.6   进行安装初始化,并创建安装路径
    440 make                                 编译命令
    441 make install                        编译安装
    442 
    443 源码安装
    444     1、命令:yum -y groupinstall "开发工具"        #安装开发工具
    445     2、命令yum -y install zlib-*                    #安装zlib系列包
    446     3、命令:yum –y lrzsz                #安装传输工具
    447     4、拷贝文件
    448     5、命令:tar –xvf Python-3.6.1.tgz        #解压文件
    449     6、命令:mkdir –p /user/local/pyrhon3        #创建安装目录
    450     7、命令:./python/configure --prefix=/usr/local/python3.6   
    451     #进行安装初始化,并指定安装路径
    452     8、命令:make                 #编译命令
    453     9、命令:make install        #编译安装
    454     10、命令:ln -s /usr/local/python3/bin/python3 /usr/bin/python3
    455     #建立python3的软链
    456     11、命令:vim ~/.bash_profile     #加入环境变量
    457     12、检验python3是否安装成功        #输出“Hello World”
    458     
    459 安装samba服务
    460 1、准备环境
    461     iptables –F                            临时清除防火墙
    462     systemctl stop firewalld            
    463     systemctl disable firewalld            关闭开机自启
    464     setenforce 0
    465         /etc/sysconfig/selinux
    466         #SELINUX=disabled
    467             ====》part2:配置ip       arping ip地址   ping通时返回ip地址
    468     
    469 2、安装软件包
    470 yum -y install samba
    471 3、修改配置文件
    472 /etc/samba/smb.conbf
    473     [public]
    474             comment = Public Stuff
    475             path = /share
    476             public = yes
    477             writable = yes
    478             printable = no
    479             write list = +staff
    480 
    481 4、启动服务
    482 systemctl start smb
    483 
    484 5、测试
    485 samba用户必须是系统用户,登录类型为/sbin/nologin不可登录型
    486     [root@www repo_bak]# useradd smb1
    487     [root@www repo_bak]# smbpasswd -a smb1
    488     [root@www repo_bak]# useradd smb2
    489     [root@www repo_bak]# smbpasswd -a smb2
    490     [root@www repo_bak]# useradd smb3
    491     [root@www repo_bak]# smbpasswd -a smb3
    492     [root@www repo_bak]# usermod -s /sbin/nologin smb1
    493     [root@www repo_bak]# usermod -s /sbin/nologin smb2
    494     [root@www repo_bak]# usermod -s /sbin/nologin smb3
    495     
    496 安装nginx
    497 1、准备环境
    498     iptables –F                            临时清除防火墙
    499     systemctl stop firewalld            
    500     systemctl disable firewalld            关闭开机自启
    501     setenforce 0
    502         /etc/sysconfig/selinux
    503         #SELINUX=disabled
    504             ====》part2:配置ip       arping ip地址   ping通时返回ip地址
    505     
    506 2、安装软件包
    507 二进制方式安装
    508     yum install epel-release -y
    509     yum install nginx -y 
    510 源码安装
    511     yum –y install gcc-* 
    512     yum –y install glibc-* 
    513     yum –y install pcre -y
    514     ./configure --prefix=/usr/local/nginx --with-pcre=/usr/lib64
    515     ./configure --prefix=/usr/local/nginx --with-http_rewrite_module
    516     make
    517     make install
    518 3、修改配置文件
    519     二进制:/etc/nginx/nginx.conf
    520     源码:/usr/local/nginx/conf/nginx.conf
    521     vim /usr/local/nginx/conf/nginx.conf
    522     #user  nobody;
    523     worker_processes  3;
    524 4、启动服务
    525     二进制:systemctl restart nginx
    526     源码:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
    527     ps aux | grep nginx
    528     #/usr/local/nginx/sbin/nginx -s stop 关闭
    529     #/usr/local/nginx/sbin/nginx -s reload 重新加载配置文件
    530 5、测试
    531     浏览器打开192.168.205 显示welcome to nginx!即成功
    532     
    533 安装nfs服务
    534 1、准备环境
    535     iptables –F                            临时清除防火墙
    536     systemctl stop firewalld            
    537     systemctl disable firewalld            关闭开机自启
    538     setenforce 0
    539         /etc/sysconfig/selinux
    540         #SELINUX=disabled
    541             ====》part2:配置ip       arping ip地址   ping通时返回ip地址
    542     
    543 2、安装软件包
    544     yum install rpcbind nfs-utils –y
    545 3、修改配置文件
    546     NFS服务的配置文件:/etc/exports,这个文件是NFS的主要配置文件,不过系统并没有默认值,
    547     所以这个文件不一定会存在,可能要使用vim手动建立,然后在文件里面写入配置内容。
    548     /etc/exports文件内容格式:
    549     <输出目录> [客户端1 选项(访问权限,用户映射,其他)] [客户端2 选项(访问权限,用户映射,其他)]
    550         客户端常用的指定方式
    551             指定ip地址的主机:192.168.0.200
    552             指定子网中的所有主机:192.168.0.0/24 192.168.0.0/255.255.255.0
    553             指定域名的主机:david.bsmart.cn
    554             指定域中的所有主机:*.bsmart.cn
    555             所有主机:*
    556     NFS主要有3类选项:
    557         访问权限选项
    558             设置输出目录只读:ro
    559             设置输出目录读写:rw
    560         用户映射选项
    561             all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);
    562             no_all_squash:与all_squash取反(默认设置);
    563             root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置);
    564             no_root_squash:与rootsquash取反;
    565             anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);
    566             anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);
    567         其它选项
    568             secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);
    569             insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
    570             sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
    571             async:将数据先保存在内存缓冲区中,必要时才写入磁盘;
    572             wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置);
    573             no_wdelay:若有写操作则立即执行,应与sync配合使用;
    574             subtree:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);
    575             no_subtree:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率
    576     例如:
    577         
    578         /share 192.168.31.0/24(rw,sync,fsid=0)
    579 4、启动服务
    580     chmod -R o+w /share        #开权限(nfs开启了w权限还不行,others还需要对/share目录有w权限)
    581 
    582     systemctl enable nfs-server.service        #为nfs做开机启动:
    583     systemctl enable rpcbind.service        #为rpcbind做开机启动:
    584 
    585     systemctl start rpcbind.service                启动(必须先启动rpcbind服务)
    586     systemctl start nfs-server.servic            启动(必须先启动rpcbind服务)
    587 5、测试
    588 
    589 安装计划任务crond服务
    590 计划任务:事先手动将计划任务设定好,后台运行,到了预定的时间就会自动执行的任务
    591 crond服务相关的软件包
    592     [root@MiWiFi-R3-srv ~]# rpm -qa |grep cron
    593     cronie-anacron-1.4.11-14.el7.x86_64
    594     crontabs-1.11-6.20121102git.el7.noarch
    595     cronie-1.4.11-14.el7.x86_64
    596         这些包在最小化安装系统时就已经安装了,并且会开机自启动crond服务,
    597         并为我们提供好编写计划任务的crontab命令。
    598 计划任务分为两类:系统级和用户级
    599     系统级计划文件存放在/etc/crontab路径下
    600     用户的计划文件放在/var/spool/cron/用户名
    601 编写计划任务:
    602     系统级可以直接对文件进行修改或使用 crontab -e命令
    603     用户级使用 crontab -e命令
    604         crontab -e -u user1    #指定user1编写计划任务
    605 crontab命令编写计划任务
    606     语法:crontab [-u <用户名称>][配置文件] 或 crontab [-u <用户名称>][-elr]
    607     crontab任务配置基本格式:
    608     *  *  *  *  *  command
    609     分钟(0-59) 小时(0-23) 日期(1-31) 月份(1-12) 星期(0-6,0代表星期天)  命令
    610     第1列表示分钟1~59 每分钟用*或者 */1表示
    611     第2列表示小时1~23(0表示0点)
    612     第3列表示日期1~31
    613     第4列表示月份1~12
    614     第5列标识号星期0~6(0表示星期天)
    615     第6列要运行的命令
    616     参  数: 
    617         -e  编辑该用户的计时器设置。 
    618         -l  列出该用户的计时器设置。 
    619         -r  删除该用户的计时器设置。 
    620         -u<用户名称>  指定要设定计时器的用户名称。
    621 注意:
    622     1 查看计划任务的执行:tail -f /var/log/cron
    623     2 写计划任务时,命令必须加上绝对路径,否则会出现这种情况:
    624         从日志中看,确实触发了计划任务的执行,但是命令却没有执行成功,
    625         比如* * * * * reboot就会出现这种情况,需要将reboot写成/usr/sbin/reboot
    626 crontab例子:
    627     30 21 * * * /usr/local/etc/rc.d/apache restart #每晚的21:30 重启apache
    628     45 4 1,10,22 * * /usr/local/etc/rc.d/apache restart #每月1、10、22日的4 : 45重启apache
    629     10 1 * * 6,0 /usr/local/etc/rc.d/apache restart #每周六、周日的1 : 10重启apache
    630     0,30 18-23 * * * /usr/local/etc/rc.d/apache restart #每天18 : 00至23 : 00之间每隔30分钟重启apache
    631     0 23 * * 6 /usr/local/etc/rc.d/apache restart #每星期六的11 : 00 pm重启apache
    632     * 23-7/1 * * * /usr/local/etc/rc.d/apache restart #晚上11点到早上7点之间,每隔一个小时的每分钟重启 apache
    633     0 */1 * * * /usr/local/etc/rc.d/apache restart #每一小时重启apache 
    634 常见的时间格式可以用如@yearly的方式代替
    635     @reboot 代表的意思Run once, at startup.
    636     @yearly 代表的意思Run once a year, "0 0 1 1 *".
    637     @annually 与@yearly相同意思
    638     @monthly 代表的意思Run once a month, "0 0 1 * *".
    639     @weekly 代表的意思Run once a week, "0 0 * * 0".
    640     @daily 代表的意思Run once a day, "0 0 * * *".
    641     @midnight 与@daily的意思相同
    642     @hourly 代表的意思Run once an hour, "0 * * * *".
    643 查看cron服务是否起作用
    644     cat /var/log/cron        查看定时任务是否准时调用了可以/var/log/cron中的运行信息
    645     tail -f /var/spool/mail/用户名     查看普通用户的计划任务执行情况
    646     
    647 date '+%Y-%m-%d'    以2017-06-01的格式获取时间信息
    648      %H  %M %S 分别表示时、分、秒  %T 表示完整时间
    649 date '+%Y-%m-%d_%T'    显示2017-06-01_12:1520
    650 
    651 touch `date '+%Y-%m-%d'`.txt        创建2017-06-01.txt(``表示取执行结果)
    652 * * * * * /usr/bin/tar cvf /etc_bak/$(date '+\%Y-\%m-\%d_\%T').tar.gz /etc
    653 
    654 Shell
    655     shell一般代表两个层面的意思,一个是命令解释器,比如BASH,
    656     另外一个就是shell脚本。本节我们站在命令解释器的角度来阐述shell
    657 
    658 每个用户登录shell需要执行的四个文件
    659     /etc/profile
    660     /home/egon/.bashrc_profile
    661     /home/egon/.bashrc
    662     /etc/bashrc
    663 非登录shell加载的文件
    664     /home/egon/.bashrc
    665     /etc/bashrc
    666     通常,我们会将环境变量设置在 /home/egon/.bashrc 中
    667     如果不管哪种登录都想使用的变量 就设置在/etc/bashrc中
    668 添加语句:
    669     PATH=/usr/local/python3:$PATH
    670     export PATH
    671 
    672 bash中元字符:
    673     bash中的特殊字符,键盘上能敲出来的特殊字符都有其特殊意义
    674     元字符是被shell解释的
    675     
    676 `` 命令替换 取命令的执行结果
    677     res=`ls`                 #取命令的运行结果,赋值给变量res
    678 $()同``但它弥补了``的嵌套缺陷
    679      res=$(echo $(ls))         #替代方案
    680 ~ 家目录
    681 ! 取非/匹配最近一次历史命令
    682 ! ls 带空格 将命令的返回值取反
    683     [root@~]# ! echo ok #将结果取反
    684     ok
    685     [root@ ~]# echo $?
    686     1
    687 @ 无特殊含义
    688 # 注释
    689 $ 变量取值
    690 $() 同``
    691 ${} 变量名的范围
    692 $[] 整数计算     
    693 & 后台执行;&& 逻辑与    
    694 * 匹配任意长度字符串;计算乘法
    695 () 在子进程中执行    
    696 "" 软引 ''硬引
    697 ; 可以接多个命令    
    698 : 空命令 真值    
    699 | 管道; || 逻辑或
    700  转义;
    701 {} 命令列表 ,注意括号内的开头和结尾必须是空格{    ls; cd /;   }
    702 [] 字符通配,匹配括号内之一;    
    703     
    704 正则表达式
    705 正则:用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。
    706       或者说:正则就是用来描述一类事物的规则。
    707 在linux中,通配符是由shell解释的,而正则表达式则是由命令解释的    
    708 
    709 文本处理工具/命令:grep
    710 参数
    711     -n  :显示行号
    712     -o  :只显示匹配的内容
    713     -q  :静默模式,没有任何输出,得用$?来判断执行成功没有,即有没有过滤到想要的内容
    714 
    715     -l  :如果匹配成功,则只将文件名打印出来,失败则不打印,通常-rl一起用,grep -rl 'root' /etc 
    716     -A  :如果匹配成功,则将匹配行及其后n行一起打印出来
    717     -B  :如果匹配成功,则将匹配行及其前n行一起打印出来
    718     -C  :如果匹配成功,则将匹配行及其前后n行一起打印出来
    719     --color
    720     -c  :如果匹配成功,则将匹配到的行数打印出来
    721     -E  :等于egrep,扩展
    722     -i  :忽略大小写
    723     -v  :取反,不匹配
    724     -w:匹配单词
    725     -r  递归查询
    726 grep种类
    727     grep
    728     fgrep
    729     pgrep
    730     egrep
    731     常用grep、egrep
    732 正则介绍
    733     ^    行首
    734     $    行尾
    735     .    除了换行符以外的任意单个字符
    736     *    前导字符的零个或多个
    737     .*    所有字符
    738     []    字符组内的任一字符
    739     [^]    对字符组内的每个字符取反(不匹配字符组内的每个字符)
    740     ^[^]    非字符组内的字符开头的行
    741     [a-z] 小写字母
    742     [A-Z] 大写字母
    743     [a-Z] 小写和大写字母
    744     [0-9] 数字
    745     <    单词头 单词一般以空格或特殊字符做分隔,连续的字符串被当做单词
    746     >    单词尾
    747     grep 加 -E 或 egrep 或转义
    748     ? 前导字符零个或一个
    749     + 前导字符一个或多个
    750     x{m} x出现m次
    751     x{m,} x出现m次至多次(至少m次) 
    752     x{m,n} x出现m次至n次
  • 相关阅读:
    libhdfs 写新的c程序编译问题
    CDH4源码 eclipse导入问题
    安装CDH4遇到的问题
    [学习资料]Java多线程编程
    [properJavaRDP]在网页中实现远程连接
    【原创】Eclipse实现图形化界面插件vs4e
    【原创】源码角度分析Android的消息机制系列(四)——MessageQueue的工作原理
    【原创】源码角度分析Android的消息机制系列(六)——Handler的工作原理
    【原创】源码角度分析Android的消息机制系列(三)——ThreadLocal的工作原理
    【原创】源码角度分析Android的消息机制系列(五)——Looper的工作原理
  • 原文地址:https://www.cnblogs.com/hedeyong/p/6900552.html
Copyright © 2011-2022 走看看