Linux系统管理及服务配置
最近在学习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)
- 用户账户的信息存放在 /etc/passwd文件中
用户名 密码 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
- example:
删除用户
- userdel -r 用户名
删除用户和用户的家目录
- 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.总结
创建、复制、删除、移动、查看、编辑
a-z ↩︎
Linux系统管理及服务配置相关推荐
- linux的磁盘配额管理微课文档,Linux系统管理与服务配置(CentOS8微课版高职高专计算机任务驱动模式教材)...
导语 内容提要 本书以目前最新的CentOS 8为蓝本,从实用的角度介绍了被广泛应用的Linux操作系统的管理及利用Linux操作系统架设常见网络服务器的方法.本书内容包括Linux基础.Linux的 ...
- 原有磁盘上创建lvm_Linux 系统管理及服务配置实战-第12章 磁盘管理3(连载)
存储管理Ⅱ 1.逻辑卷LVM 1.1.LVM管理 在线扩容 online 数据迁移 online 创建LVM VG扩展/缩小 LV扩容 文件系统扩容 基本分区(MBR|GPT) ----> Fi ...
- Linux之systemd服务配置及自动重启
Linux之systemd服务配置及自动重启 0 背景 在linux上开发时,往往需要将自己的程序做成服务,并且实现服务开机自动重启,以及服务崩溃后自动重启功能,本文就对该功能的实现做简单介绍,实现方 ...
- linux可配置哪些服务,linux操作系统下服务配置
linux操作系统下服务配置 (5页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 17.90 积分 实用标准文案数学与信息技术学院实 验 报 告实验课程名 ...
- linux一运行大文件就自动重启,Linux之systemd服务配置及自动重启
layout: post title: Linux之systemd服务配置及自动重启 date: 2019-09-09 tags: linux --- Linux之systemd服务配置及自动重启 0 ...
- 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 ...
- suse linux 10 ftp服务配置
在SUSE linux 10上安装配置FTP相对是比较方便的,具体过程如下: 1.首先检查是否有VSFTPD的包 #rpm -qa|grep vsftpd 如果没有,则可以从网上下载或使用SUSE ...
- Linux下LAMP服务配置
1. httpd-2.2.6.tar.gz 2. mysql-5.0.45-linux-i686-glibc23.tar.gz ( 这个版本是已编译好的压缩包,解压后稍做配置即可使用 ) 3. p ...
- linux常用的服务配置
说明:由于本人比较喜欢使用有道云笔记,为了避免重复性的笔记记录,下面都是有道云笔记的链接QAQ apache服务配置 http://note.youdao.com/noteshare?id=c85e ...
最新文章
- 18年你需要了解的15个人工智能统计数据
- git 可视化工具_最值得推荐的8个git/github项目数据分析工具
- Linux发行版,分类,CentOS下载
- android中英文混合,搜狗手机输入法Android3.3中英混输无障碍之终结篇
- ctf.360.cn第二届,逆向部分writeup——第三题
- [开源]Dapper Repository 一种实现方式
- while用法_语法宝典:连词while的四种用法,你都学会了吗?
- python连接redis sentinel集群
- AWS RDS强制升级的应对之道——版本升级的最佳实践
- UVAPOJ离散概率与数学期望入门练习[4]
- python __setattr__
- 那些年,我们解析过的前端异常
- [转载] python处理数据列_Python中基于跨列的数据处理
- 马克·扎克伯格分享Facebook水冷数据中心照片
- 云盘万能钥匙破解去后门版Cracked By 8848
- QT文本文档之新建文本
- 竞选计算机课代表稿子,竞选课代表发言稿(精选7篇)
- [从头读历史] 第253节 孔子和他的《春秋》 [BC722至BC658]
- exchange批量创建用户邮箱
- 外贸企业邮箱格式怎么写?外贸域名邮箱格式
热门文章
- 支付宝开放平台RSA签名验签工具----生成密钥报错
- 华为鸿蒙 HarmonyOS 2.0 手机开发者 Beta 来了,对开发者意味着什么?
- 【MATLAB图像融合】[14]PCNN脉冲耦合神经网络代码分享
- Ace,CodeMirror 和 Monaco:Web 代码编辑器的对比
- win10开机黑屏一会1-2秒后进入桌面的原因总结和解决方式。
- 一点也不流氓的搜狗输入法皮肤
- 高德地图开发(一、引入地图)
- 基于MATLAB的K-means聚类算法
- 计算机英语五人对话,英文应聘对话5人的急求一篇英语对话 关于应聘的 最好是五人的...
- 220多款H5的手机端小游戏源码下载 - html+javascript 开发网页小游戏开源源码大合集