最近在学习Linux,特此记录一下

Linux系统管理及服务配置

1.文件管理

1.文件类型(理解)

  • 简介

    • windows文件类型以后缀区分。

      • exe
      • doc
    • linux文件类型以单个字母区分(文件属性中)

        - - 普通文件(文本文件,二进制文件,压缩文件,电影,图片。。。)d 目录文件(蓝色)b 设备文件(块设备)存储设备硬盘,U盘 /dev/sda, /dev/sda1c 设备文件(字符设备)打印机,终端 /dev/tty1l 链接文件(淡蓝色)s 套接字文件p 管道文件
      
  • 示例

      - 示例1- 查看各式各样的文件类型。你能找出几种呢?[root@tianyun ~]# ll -d /etc/hosts /bin/ls /home /dev/sda /dev/tty1 /etc/grub2.cfg /dev/log /run/dmeventd-client-rwxr-xr-x. 1 root root 117616 Nov 20 2015 /bin/lssrw-rw-rw- 1 root root 0 Mar 14 2017 /dev/logbrw-rw---- 1 root disk 8, 0 Mar 14 09:03 /dev/sdacrw--w---- 1 root tty 4, 1 Mar 14 09:03 /dev/tty1lrwxrwxrwx. 1 root root 22 Dec 21 01:40 /etc/grub2.cfg -> ../boot/grub2/grub.cfg-rw-r--r-- 1 root root 392 Feb 22 15:51 /etc/hostsdrwxr-xr-x. 10 root root 4096 Mar 14 11:00 /home
    
  • 注意

    • 通过颜色判断文件的类型是不一定正确的!!!

Linux系统中文件不是必须设置扩展名!!!

2.文件管理命令

  • 1.改变目录

    • cd [ 绝对路径和 | 相对路径]目录
    • pwd 查看当前目录
  • 2.创建文件

    • touch 1.txt

cat >1.txt

  • 3.创建目录

          - # mkdir dir1# mkdir    /home/dir2    /home/dir3# mkdir    -v     /home/dir8/111/22    //显示创建过程# mkdir    -pv    /home/dir8/111/222 //包括其父母的创建,不会有任何消息输出
    
  • 4.查看文件内容

    • 推荐查看的文件

               - /bin/date/etc/hosts/etc/sysconfig/network/etc/sysconfig/network-scripts/ifcfg-eth0/etc/passwd/etc/shadow /etc/group/etc/grub2.cfg/etc/resolv.conf /etc/profile //设置系统环境变量/etc/bashrc //影响bash shell环境/var/log/messages //系统主日志文件/var/log/secure //跟安全相关的日志如ssh登录,本地登录...
      
    • cat全部

      • cat 文件名

-n 显示行号

-A 包括控制字符(换行符/制表符)
tac 从最后一行逆序打印

- more翻页- more- head头部- [root@tianyun ~]# head /etc/passwd

[root@tianyun ~]# head -2 /etc/passwd

- tail尾部- [root@tianyun ~]# tail /etc/passwd

[root@tianyun ~]# tail -1 /etc/passwd

[root@tianyun ~]# tail -F /var/log/secure //-F 动态查看文件的尾部

- grep过滤关键字- # grep 'root' /etc/passwd
  • 5.复制

      - # cp -v install.log /home/dir1     //-v 显示详细信息# cp -rv /etc /home/dir1    //-r 拷贝文件夹# cp -rf /etc /tmp    //-f, --force 强制#-r 递归复制文件夹下面所有文件及属性#-i  提示信息
    
  • cp到底是何方神圣?

        - [root@tianyun ~]# type -a cpcp is aliased to `cp -i'cp is /bin/cp
    
  • 6.移动

    • mv file1 /home/dir3 将file1移动到/home/dir3

    • mv -t 文件夹1 目标文件夹 ##讲目标文件夹转移到文件夹 与默认相反
    • mv 文件 new文件 将文件更名为 new 的
  • 7.删除

    • rm

          - -r 递归-f force强制 不显示任何信息-v 详细过程[root@tianyun ~]# rm -rf /home/dir10/*      //不包括隐藏文件
      
    • rmdir

      • 删除空目录
      • -r 递归删除空目录
    • 7.查找 find

      • find查找标准参数 find 路径 参数 文件

        • find / -name 1.txt
      • find -name

        • find -name a.txt
      • 按照文件大小查找 find / -size +1000k 大于1000k大小文件
        -1000k 小于1000k

      • 根据时间查找 find / -mtime -(+)3 查找修改时间三天以(外)内的
        -atime 访问文件时间
        -ctime 修改状态的时间

    • 8.grep 文本全局正则查找

      • -i 忽略大小写

      • -c 只显示匹配行的数量 查看匹配多少数量

      • -r 递归查找子目录

      • -n 显示行

        • grep -n ‘字符’ a.txt
      • grep ‘字符’ * 当前目录下查找所有含有搜索字符的文件

      • 正则

        • cat demo/a.txt | grep ‘1’ 搜索 字母开头
        • ls | grep ‘^w’ 字母开头的文件
      • 结合管道符 |

        • ls | grep a 将ls得到的结果交给 grep 筛选
    • 命令查找

      • whereis
      • which
  • 9.链接

    • 软链接 -s

      • 应用 ln -s 源文件 链接文件

        • 软链接:新建了一块地址 存放源文件的引用的地址,所以当源文件删除后,软链接失效 相当于快捷方式
    • 硬链接

      • ln 源文件 链接文件

        • 硬链接:指向源文件的地址,当源文件引用被删除后,硬链接依旧指向源文件地址,指向数据
    • 查看

      • 当 ll 后 文件后面出现 --> 为软链接
  • 10.修改文件内容

    • 1.图形文件编辑器1

      • 图形文件编辑器 gedit
    • 2.文件编辑器2

      • VI 的三个模式

          - 可视模式,按V进入,小v光标自己选取,大V直接选取一行,YYp复制粘贴即可。
        

ctrl+V,上下选择,然后可以ctrl+> 进行整体缩进。

 - 命令模式- 光标定位- 光标定位 hjkl               //上下左右0 $               //行首行尾gg G            //野兽页尾3G 进入第三行  /string (n N 可以循环的)     //查找字符,n下一个
  • 文本编辑

  • 文本编辑(少量)

      y 复制 yy 3yy ygg yG (以行为单位)d 删除 dd 3dd dgg dG (以行为单位) p 粘贴x 删除光标所在的字符D 从光标处删除到行尾u undo撤销^r redo重做r 可以用来修改一个字符
    
  • 进入其它模式

      a 进入插入模式i 进入插入模式o 进入插入模式A 进入插入模式: 进入末行模式(扩展命令模式)v 进入可视模式^v 进入可视块模式V 进入可视行模式R 进入替换模式
    
  • 输入模式

         - insert:iaoIAO- 可视块模式- 块替换: 选择块,r 输入替换的字符 块删除: 选择块,d | x块复制: 选择块,y- 扩展命令模式
    
  • 保存退出

      :10 进入第10行 :w 保存 :q 退出 :wq 保存并退出 :w! 强制保存 :q! 不保存并退出 :wq! 强制保存退出:x 保存并退出 ZZ
    
  • 查找替换

      :范围 s/old/new/选项 :1,5 s/root/yang/          从1-5行的root 替换为yang -  读入文件/写文件(另存为):w 存储到当前文件:w /tmp/aaa.txt 另存为/tmp/aaa.txt :1,3 w /tmp/2.txt:r /etc/hosts 读入文件到当前行后:5 r /etc/hosts 读入文件到第5行后- :set nu 设置行号 :set ic 不区分大小写:set ai 自动缩进:set list 显示控制字符:set nonu 取消设置行号
    
  • 11.文件基本信息:时间(了解)

    • 时间类型

        - 访问时间:atime,查看内容 修改时间:mtime,修改内容改变时间:ctime,文件属性,比如权限删除时间:dtime,文件被删除的时间
      
    • 查询示例

        [root@tianyun ~]# stat install.logFile: “install.log”Size: 34793 Blocks: 80 IO Block: 4096 一般文件Device: 802h/2050d Inode: 65282 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2012-10-23 16:53:20.000000000 +0800Modify: 2012-10-23 13:49:46.000000000 +0800Change: 2012-10-23 13:49:52.000000000 +0800
      

ls -l 文件名 仅看的是文件的修改时间

3.文件权限

  • r:read w:write x:exe

  • d  rwx      r-x      r-x
    文件 用户   用户所属组其他用户  其他任何用户

  • 更改权限

    • user group other all
      chmod [ugo / a] [±=] [rwx] 文件或者文件夹

    • 方式1

           - #chmod u -w b.txt #chomd u-w,o+w b.txt#chmod u=rw btxt  赋给权限#chomd  a -w 文件夹 对所有等级的用户 减去写的权限
      
    • 八进制方式

      • r:4 w:2 r:1   从左往右赋值

      • chmod 644 1.txt

        • u=6,g=4,o=4
      • 对于一个文件夹:
        #chmod  777 code

#chmod 006 * 给当前目录下所有文件其他用户 赋予读写执行权限,并且减去当前用户,组用户的所有权限
#chmod -66 减去组,其他用户的读写权限 数字从左往右开始匹配 ogu
- 递归  chmod -R 666 code 递归的对code 以及code目录下所有的文件赋予权限

4.用户与组

  • 用户

    • 用户信息

      • 一个用户必有有一个主组
        一个用户可以有多个组
        一个组可以有多个用户

        • 用户账户的信息存放在 /etc/passwd文件中
          超级用户root(0)
          程序用户(1-499)
          普通用户(500-65535)
      • 用户名 密码 uid gid 用户说明 家目录 shell解释器
        python : x : 1001 : 1001 : : /home /python : /bin/sh[外链图片转存失败(img-r4nNlv4w-1566618018618)(assets/5f1d3e6276a4c4a569345a41b885cff3b227f244b9b083d85b90bc46894ecf55.png)]

      • 用户名 密码 最近更改时间 禁止修改密码的天数 到用户必须修改密码的天数 告警更改密码期限 不活动时间 标志
        python : 636636 : 17394 : 0 : 99999 : 7 : : :
        [外链图片转存失败(img-VDUbkPK6-1566618018622)(assets/1a98857f73802bbe51687a73adf1de047d0ae2505263c2ccc092f2c4c92cc09b.png)]

    • 新建用户

      • useradd [optional] 用户名
        -g 指定主组名或组id,必须已经存在的组
        -u 指定用户的id
        -m 自动建立用户主目录
        -d 指定用户的家目录
        -s 指定用户登录后使用shell,默认是/bin/bash

        • example:
          sudo useradd -m 用户名
          sudo useradd -m 用户名 -s /bin/bash
    • 删除用户

      • userdel -r 用户名
        删除用户和用户的家目录
    • 修改用户密码: sudo passwd 用户名

    • 切换用户:su 用户名 新建的用户由于sh的原因没有sudo权限

    • 补充

      #启用root账户
      $ sudo password root #根据提示为root输入密码
      必须切换到root用户
      #设置sudo提升权限的时候不需要输入密码,需要修改/etc/sudoers文件

      sudo vi /etc/sudoers
      #也可以使用工具:sudo visudo编辑

      Allow members of group sudo to execute any command

      #将sudo组添加NOPASSWD:
      %sudo ALL=(ALL:ALL) NOPASSWD: ALL
      #然后按esc
      :wq!

      #如果新添加的用户不属于sudo组,是不能使用sudo提升权限的,需要将用户添加到sudo组
      #以属于sudo组的用户登录
      sudo usermod -a -G sudo 用户名

      如果没有切换使用此命令恢复:
      pkexec chmod 0440 /etc/sudoers

    • 组信息存放在 /etc/group
    • groupadd 组名

groupdel 组名

groupmod -n 新组名 旧组名

groups 显示所有组

2.SSH连接

工作原理

  • 服务器启动的时候自己产生一个秘钥(768bit),本地的ssh客户端发送请求到服务器,服务器检查点客户端发送的数据和IP地址,确认合法后发送密钥(768bits)给客户端,此时客户端将本地私钥(256bit)和服务器的公钥(768bit)结合成密钥对key(1024bit),发回给服务器端,建立连接通过key-pair数据传输。

SSH

  • 简介

    • 1.SSH是安全的加密协议,用于远程连接Linux服务器
    • 2.SSH的默认端口是22,安全协议版本是SSH2
    • 3.SSH服务器端主要包含2个服务功能SSH连接和SFTP服务器
    • 4.SSH客户端包含ssh连接命令和远程拷贝scp命令等

服务

  • 如何安装ssh?

    • Sudo apt-get install openssh-server
  • 启动服务

    • sudo service ssh start / stop
  • 查看服务是否启动:

    • ps -aux | grep ssh
  • 远程链接

    • sudo ssh -p 端口 用户名@ip地址

3.vi/vim编辑模式

  • 平时用的最多的vi命令:

    • 移动光标的方法:
    • [Ctrl]+[f]:屏幕向下移动一页,相当于[PageDown]按键。forward
    • [Ctrl]+[b]:屏幕向上移动一页,相当于[PageUp]按键。back
    • 0或功能键[Home]:移动到这一行的最前面字符处。
    • $或功能键[End]:移动到这一行的最后面字符处。
    • G:移动到这个文件的最后一行。
    • gg:移动到这个文件的第一行,相当于1G.
    • N[Enter]:N为数字,光标向下移动N行
  • 删除、复制和粘贴:

    • .:小数点,重复前一个操作。
    • x,X:在一行字中,x为向后删除一个字符(相当于[Del]键),X为向前删除一个字符(相当于[Backspace])。
    • dd:删除光标所在的一整行。
    • ndd:删除光标所在的向下n行。
    • yy:复制光标所在的一行。
    • nyy:复制光标所在的向下n行。
    • p,P:p为将已复制的内容在光标的下一行粘贴,P则为粘贴在光标的上一行。
    • u:复原前一个操作。
    • [Ctrl]+r:重做上一个操作。
  • 查找和替换:

    • /word:向下寻找一个名称为word的字符串。
    • ?word:向上寻找一个名称为word的字符串。
    • :n1,n2s/word1/word2/g:在第n1行和n2行之间寻找word1这个字符串,并且将其替换为word2.
    • :1,$s/word1/word2/g:从第一行到最后一行寻找word1这个字符串,并且将其替换为word2.
    • :1,$s/word1/word2/gc:从第一行到最后一行寻找word1这个字符串,并且将其替换为word2.且在替换前显示提示字符给用户确认是否需要替换。
  • 一般模式切换到编辑模式:

    • i,I:进入插入模式,i为从目前光标所在处插入。I为在目前所在行的第一个非空格字符处开始插入。
    • a,A:进入插入模式。a为从目前光标所在处的下一个字符处开始插入。A为从所在行的最后一个字符处开始插入。
    • o,O:进入插入模式。o为在下一行插入。O为在上一行插入。
    • r,R:进入替换模式。r只替换光标所在那个字符一次。R会一直替换光标所在字符,直到按下Esc键。
  • 一般模式切换到命令行:

    • :set nonu 取消行号
    • :w 新文件名 另存为新文件名
    • :n1,n2 w 新文件名 将第n1行到n2行的内容另存为新文件名
    • :r 文件名A 将文件A中的内容读入到当前文件中
    • :w:将编辑的数据写入到硬盘中。
    • :q:离开vi.后面加!为强制离开。
    • :wq:保存后离开。
    • :wq! 为强制保存后离开。
    • :set nu 设置显示行号

4.软件包

压缩与解压

  • tar

    • -c 打包
      

      -x 解包
      -v 可视化
      -f指定文件名
      -t 查看包里的东西
      -z 用gzip对包进行压缩
      -j 用把bzip2对包进行压缩

    • Example:
      打包 tar -cvf test.tar 1.txt 2.txt 3.txt
      解包 tar -xvf test.tar
      打包并且压缩 tar -zcvf 包名 文件/文件夹
      解压压缩包 tar -zxvf 包名 -C 指定文件夹
  • gzip

    • 特点:这里讲gzip只能压缩单个文件,并不是一次只能压缩一个文件,而是压缩的单位是单个文件,即并不能将多个文件压缩成为一个文件
    • gzip *.txt
      #解压 gunzip xxx.gz
  • bzip2/bz2

    • bzip2 wq.txt

      • —>xxx.txt.bz2
    • bzip2 xxx.txt —>–→ 删除源文件 存放的是源文件压缩后文件

    • 解压bz2文件:

    • bunzip2 xxx.txt.bz2

    • bzip2 -d xxx.txt.bz2

  • zip

    • zip -r 压缩包名字 文件1 文件2 文件夹 打压缩包
    • zip -rm 压缩包名字 文件1 文件2 文件夹 删除源文件并打压缩包
    • unzip 解压
    • unzip -d 指定的目录名 mytest.zip

apt / pckg

  • redhat: centos

  •        rpm 软件包管理
    
  • debian : ubuntu

  •        dpkg  软件包管理:
    
  • 简介

    • 虽然我们在使用dpkg时,已经解决掉了 软件安装过程中的大量问题,但是当依赖关系不满足时,仍然需要手动解决,而apt这个工具解决了这样的问题,linux distribution 先将软件放置到对应的服务器中,然后分析软件的依赖关系,并且记录下来,然后当客户端有安装软件需求时,通过清单列表与本地的dpkg以存在的软件数据相比较,就能从网络端获取所有需要的具有依赖属性的软件了。
    • 然而,由于每位用户所处的网络环境不同,不可能随意地访问各镜像站点。为了能够有选择地访问,在Ubuntu系统中,使用软件源配置文件/etc/apt/sources.list列出最合适访问的镜像站点地址。
    • apt简介:
    • 工作原理:
    • Ubuntu采用集中式的软件仓库机制,将各式各样的软件包分门别类地存放在软件仓库中,进行有效地组织和管理。然后,将软件仓库置于许许多多的镜像服务器中,并保持基本一致。这样,所有的Ubuntu用户随时都能获得最新版本的安装软件包。因此,对于用户,这些镜像服务器就是他们的软件源(Reposity)
  • dpkg是"Debian Package"的简写。

    • | dpkg -r 包名 | 卸载软件包但保留配置信息 |
    • | dpkg -P 包名 | 卸载软件包联通配置信息一并卸载 | |
    • | dpkg -l 包名 |查看软件包
    • | dpkg -l | grep zip |
    • | dpkg -i 包文件名(.deb) 安装软件包
    • dpkg -i sogoupinyin_2.2.0.0108_amd64.deb |
  • apt 与 apt-get

    • apt-cache  search   搜索应用程序
      
    • apt-cache show   现实应用程序安装细节
      
    • apt = apt-get  + apt-cache
      
    • apt  search
      
    • apt   show
      
    • apt install      ~   apt-get install
      
    • apt  remove   ~  apt-get remove
      
    • apt list
      

5…shell 语法

### 命令 选项 参数### [root@localhost ~]# ls### [root@localhost ~]# ls  -a ### [root@localhost ~]# ls  -a  /home### 命令:整条shell命令的主体### 选项:会影响会微调命令的行为 //通常以 -, --### 参数:命令作用的对象

6. 获得帮助

HELP

  • 语法

    • 命令 --help
  • 示例(ls --help)

    • ls --help

    • 用法:ls [选项]… [文件]…
    • ls 常见选项
    • -a all,查看目录下的所有文件,包括隐藏文件
    • -l 长列表显示
    • -h human 以人性化方式显示出来
    • -d 只列出目录名,不列出其他内容
    • -t 按修改时间排序
    • -S 按文件的Size排序
    • -r 逆序排列reverse
    • -i 显示文件的inode号(索引号)

man

  • 简介

    • 针对命令帮助,针对配置文件帮助,针对函数帮助
  • man手册分类

  • 示例2

    • 一般情况是不需要使用章节号,例如:
    • man ls

    • man useradd

baidu, google

7.总结

创建、复制、删除、移动、查看、编辑


  1. a-z ↩︎

Linux系统管理及服务配置相关推荐

  1. linux的磁盘配额管理微课文档,Linux系统管理与服务配置(CentOS8微课版高职高专计算机任务驱动模式教材)...

    导语 内容提要 本书以目前最新的CentOS 8为蓝本,从实用的角度介绍了被广泛应用的Linux操作系统的管理及利用Linux操作系统架设常见网络服务器的方法.本书内容包括Linux基础.Linux的 ...

  2. 原有磁盘上创建lvm_Linux 系统管理及服务配置实战-第12章 磁盘管理3(连载)

    存储管理Ⅱ 1.逻辑卷LVM 1.1.LVM管理 在线扩容 online 数据迁移 online 创建LVM VG扩展/缩小 LV扩容 文件系统扩容 基本分区(MBR|GPT) ----> Fi ...

  3. Linux之systemd服务配置及自动重启

    Linux之systemd服务配置及自动重启 0 背景 在linux上开发时,往往需要将自己的程序做成服务,并且实现服务开机自动重启,以及服务崩溃后自动重启功能,本文就对该功能的实现做简单介绍,实现方 ...

  4. linux可配置哪些服务,linux操作系统下服务配置

    linux操作系统下服务配置 (5页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 17.90 积分 实用标准文案数学与信息技术学院实 验 报 告实验课程名 ...

  5. linux一运行大文件就自动重启,Linux之systemd服务配置及自动重启

    layout: post title: Linux之systemd服务配置及自动重启 date: 2019-09-09 tags: linux --- Linux之systemd服务配置及自动重启 0 ...

  6. linux ntp时间同步配置,Linux ntp 时间同步服务配置

    一.基础环境 1.操作系统:CentOS 7.3 2.ntp:4.2.6 3.机器,服务端(192.168.1.210)客户端(192.168.1.211) 二.安装ntp yum -y instal ...

  7. suse linux 10 ftp服务配置

    在SUSE linux 10上安装配置FTP相对是比较方便的,具体过程如下: 1.首先检查是否有VSFTPD的包 #rpm  -qa|grep vsftpd 如果没有,则可以从网上下载或使用SUSE ...

  8. Linux下LAMP服务配置

    1. httpd-2.2.6.tar.gz  2. mysql-5.0.45-linux-i686-glibc23.tar.gz ( 这个版本是已编译好的压缩包,解压后稍做配置即可使用 )  3. p ...

  9. linux常用的服务配置

     说明:由于本人比较喜欢使用有道云笔记,为了避免重复性的笔记记录,下面都是有道云笔记的链接QAQ apache服务配置 http://note.youdao.com/noteshare?id=c85e ...

最新文章

  1. 18年你需要了解的15个人工智能统计数据
  2. git 可视化工具_最值得推荐的8个git/github项目数据分析工具
  3. Linux发行版,分类,CentOS下载
  4. android中英文混合,搜狗手机输入法Android3.3中英混输无障碍之终结篇
  5. ctf.360.cn第二届,逆向部分writeup——第三题
  6. [开源]Dapper Repository 一种实现方式
  7. while用法_语法宝典:连词while的四种用法,你都学会了吗?
  8. python连接redis sentinel集群
  9. AWS RDS强制升级的应对之道——版本升级的最佳实践
  10. UVAPOJ离散概率与数学期望入门练习[4]
  11. python __setattr__
  12. 那些年,我们解析过的前端异常
  13. [转载] python处理数据列_Python中基于跨列的数据处理
  14. 马克·扎克伯格分享Facebook水冷数据中心照片
  15. 云盘万能钥匙破解去后门版Cracked By 8848
  16. QT文本文档之新建文本
  17. 竞选计算机课代表稿子,竞选课代表发言稿(精选7篇)
  18. [从头读历史] 第253节 孔子和他的《春秋》 [BC722至BC658]
  19. exchange批量创建用户邮箱
  20. 外贸企业邮箱格式怎么写?外贸域名邮箱格式

热门文章

  1. 支付宝开放平台RSA签名验签工具----生成密钥报错
  2. 华为鸿蒙 HarmonyOS 2.0 手机开发者 Beta 来了,对开发者意味着什么?
  3. 【MATLAB图像融合】[14]PCNN脉冲耦合神经网络代码分享
  4. Ace,CodeMirror 和 Monaco:Web 代码编辑器的对比
  5. win10开机黑屏一会1-2秒后进入桌面的原因总结和解决方式。
  6. 一点也不流氓的搜狗输入法皮肤
  7. 高德地图开发(一、引入地图)
  8. 基于MATLAB的K-means聚类算法
  9. 计算机英语五人对话,英文应聘对话5人的急求一篇英语对话 关于应聘的 最好是五人的...
  10. 220多款H5的手机端小游戏源码下载 - html+javascript 开发网页小游戏开源源码大合集