视频课程老师博客:
http://oldboy.blog.51cto.com
https://www.oldboyedu.com/
linux操作系统镜像下载地址:
https://www.centos.org/ -----centos的官网
https://mirrors.aliyun.com/ ----阿里云下载
==============================================Linux操作系统的安装配置、调优及安全设置===============================================
1 安装centoslinux系统:
安装详细过程请百度搜索。
linux在虚拟机上安装centos6.7系统分区的基本要求:
1)要至少有一个根(/)分区,用来存放系统文件及程序。其大小至少在5GB以上,平时自己安装使用创建的文件的都在该目录下。
2)要有一个swap(交换)分区,它的作用相当于windows里的虚拟内存,swap分区的大小一般为物理内存为8G或小于8G,分区配置8G。但当系统物理内存大于8GB时,则swap分区配置8~16GB即可,太大无用,浪费磁盘空间。
3)/boot分区,这是Linux系统的引导分区,用于存放系统引导文件,如Linux内核等。该分区推荐可以设置512MB,最低空间可以设置成256MB。这个分区也是必须的。
系统分区详解:
硬盘使用前----进行分区-------格式化(创建文件系统)------存放数据
类似于:房子使用前-----进行隔断----装修,买家具--------住人
一块硬盘分区:
主分区、扩展分区、逻辑分区
主分区+扩展分区的数量<=4,其中一个主分区可以用一个扩展分区替换,扩展分区最多只能一个或者没有。
扩展分区不能直接使用,还需要再上面创建逻辑分区,逻辑分区可有多个。
主分区+扩展分区 编号只能1-4,逻辑分区的编号只能从5开始。
(1)常规分区:
/boot 主分区(引导分区)。
swap 交换分区 物理内存小于8G就分8G,物理内存8G,就分8G-16G.
/ 根分区,Linux所有目录顶点 剩余所有空间。
(2)数据重要(数据库、存储服务器):
/boot 主分区(引导分区)。
swap 交换分区 物理内存小于8G就分8G,物理内存8G,就分8G-16G。
/ 根分区,Linux所有目录顶点,100-200G。
/data 存放数据,其他所有空间。
(3)特大网站,门户(产品线特别多,需求,如淘宝等大型网站):
/boot 主分区(引导分区) 。
swap 交换分区 物理内存小于8G就分8G,物理内存8G,就分8G-16G。
/ 根分区,Linux所有目录顶点,100-200G。
剩余空间不分配,哪个部门领到服务器,根据需求再进行分区。
磁盘分区命名及编号方式
(1)以设备名命名
在Linux系统中,磁盘设备对应与系统中的特殊文件,这些特殊目录中,不同的设备对应的设备名称如下:
(2)使用数字编号
为了表示不同的分区,通常会用数字进行编号。
需要注意的是,在对分区编号时,数字1-4只能留给主分区或扩展分区使用,逻辑分区(是在扩展分区基础上的)编号只能从5开始。
在对Linux系统设置了分区之后,还要在分区上创建文件系统才能安装系统,这个在安装时由系统自行完成创建。
2配置网卡
1)在Linux命令行输入setup 回车进入配置网卡界面;
2)操作如下
整个配置过程依次为:执行setup命令→network configuration→device configuration→eth0→配置完依次点击“OK”→“save”→save&quit→quit,这样就退出到命令行界面了,
最后在输入ifup eth0启动网卡即可,该配置实质就是修改网卡的配置文件/etc/sysconfig/network-scripts/ifcfg-eth0内容。
查看ip地址:ifconfig
用本地cmd去ping虚拟机IP拼通即可。
查看网卡配置:cat /etc/sysconfig/network-scripts/ifcfg-eth0
注:网卡配置中的ONBOOT=no,每次重启电脑或开机需要通过fiup eth0来重启网卡,所以需要改为yes。
3. 安装完成Linux后调优及安全设置
3.1关闭SELinux功能
SELinux是美国国家安全局对于强制访问控制的实现,这个功能让系统管理员又爱又恨,这里还是把他关闭了。至于安全问题后面通过其他手段来解决,这也是大多数生产环境
的做法。如果非要开启也是可以的,但是这里我们把它关闭。
更改之前可先把之前的文件进行备份
cp /etc/selinux/config /etc/selinux/config.ori -------------同目录下备份config文件,后面的是备份路径
更改SELinux的状态方法1:
输入vi /etc/selinux/config ,输入 i 光标移入enforcing,把enforcing改成disabled。然后直接输入 : wq 回车,进行保存。(若是不保存输入 :q!回车直接退出)
更改SELinux的状态方法2:
注意!!!
上图已经把文件中的命令更改了了,一般更改文件后需要重启服务器才会生效,但是一般的服务器服务多,使用比较多,所以最好不要重启,可以用下面的办法解决:
==================================================== linux命令整理:==================================================
=====================目录说明:1、创建;2、查看;3、修改;4、拷贝;5、删除;6、其他;7、常用的快捷键=======================================
Linux中‘目录’和‘文件’这两个名字的区别
‘目录’相当于windows系统中的文件夹;
‘文件’相当于windows系统中文件夹中创建的文件(例test.txt)。
首页:创建Linux普通用户、修改用户密码
useradd hbxgril -------创建用户useradd
tail -1 /etc/passwd ----------查看刚创建的用户
passwd hbxgril --------给用户hbxgril修改密码
su - hbxgril -------切换到hbxgril用户(-和用户名中间有空格)
echo '123' |passwd --stdin hbxgril ------修改密码的另一种方式(|是管道,把前面的123密码通过 | 传给passwd,然后通过 --stdin接受传过来的passwd作为用户hbxgril的密码)
注意注意!!!root用户在输入信息的时前面命令提示符是 #,普通用户命令提示符前是 $ 符号。
1 创建目录/文件
1 .1 创建目录(相当于文件夹)
mkdir /data 创建data目录
mkdir -p 连续创建两级或两级以上的目录 例:mkdir -p /data/mak -----创建了data和data下的mak两级目录
查看目录 ls -ld /data ------创建完可查看目录(ld可查看目录的详细信息)
cd / ------------切换到根目录
cd /data ----------切换到data目录
mkdir data -------------先切换到根目录在直接创建data目录,表示在根目录/下创建了一个data目录
cd /; mkdir data ----------先切到根目录,在到根目录创建data目录,这里;作用是把两个命令在一行分隔开
cd .. ---------退回到上级目录
cd . ---------当前目录
1.2 创建文件(相当于创建的文本文档、word文档等带后缀的文档)
touch 创建文件、改变文件的时间戳
-a 改变文件的访问(access)时间
-m 改变修改(modify)时间 (access时间或者modify时间改变,change时间也会改变)
例: touch /data/oldboy.txt ---------------创建文件
例: touch -a /data/oldboy.txt -----------改变文件的时间(access时间)戳
例: touch -m /data/oldboy.txt -----------改变文件的时间戳(modify时间)
在目录中创建多个文件
方法1 :
touch /data/stu{1..5} --------在data目录下创建5个stu文件(若创建的文件已经存在,那么就只更新这个已经存在的文件的时间;文件不存在就创建文件)
ls /data --------查询data目录下创建的文件
方法2:
1.3在创建的文件中添加内容
vi windows记事本,简单 。 例:vi oldboy.txt ----在文本中添加内容。
vim 复杂编辑器。 复杂功能,可以高亮,自动缩进功能(写shell,python脚本用)
方法1:
步骤:vi oldboy.txt ----编辑oldboy.txt文档
点击回车 →按 a 或者是 i →输入要添加的内容 →内容输入完成点击 esc →最后输入 :wq 完成保存。
若是不想保存最后可输入 :q! 强制退出。
cat oldboy.txt ---------查看oldboy.txt文档中添加的内容
*****方法2(直接创建文件并在文件中添加内容):
echo 打印输出内容。 例 : echo $pwd --------------打印出变量$pwd的值。
echo 配合 ‘>’ 或 ‘>>’ 可以为文件覆盖及追加内容。(‘>’意思是重定向,会清楚文件里所有以前的数据;“>>”为追加内容,只在文件尾部追加需要的内容),
还有个较复杂不常用的类似命令printf。
例1:echo ‘oldboy’>oldboy.txt --------是在文件oldboy.txt文件中添加内容,没有该文件时创建文件并写入内容,有该文件时,现在输入的内容会覆盖之前的内容。
例2:echo ‘oldboy’>>oldboy.txt --------是在文件oldboy.txt文件中添加内容,没有该文件时创建文件并写入内容,有该文件时,现在输入的内容会追加在之前文件里内容的后面。
echo 'I am studying linux' > /data/oldboy.txt ---------添加文件并插入内容
注意:‘>’ 的意思是data目录中没有oldboy.txt文件时创建该文件并写入内容,有文件时只在该文件中添加内容,且添加的内容是覆盖之前的内容。
echo 'I am a student'>>/data/oldboy.txt -----------添加文件并插入内容
注意:‘>>’ 的意思是data目录中没有oldboy.txt文件时创建该文件并写入内容,有文件时只在该文件中添加内容,且添加的内容是在之前的内容后添加,不覆盖之前的内容。
*****方法3 (直接创建文件并添加内容)
1.单行加入内容
cat >oldboy.txt --------如果有这个文件就只往这个里面添加内容,‘>’ 表示会覆盖之前文件中的内容,如果没有就会创建该文件会创建该文件写入输入的内容,之前的内容被覆
盖。然后ctrl+d或ctrl+c保存。
2.可多行加入内容
cat >>test.txt <<eof
test
liyao
oldboy
eof
----------如果有这个文件就只往这个里面添加内容,‘>>’ 表示会在这个文档中追加输入的内容,如果没有就会创建该文件追加输入的内容,之前的内容不会被覆盖。ctrl+d 或 ctrl+c 保存。注意:’eof’ 是成对存在,任何字母都可以,只要是成对存在的。
特殊符号介绍:
(‘ > 或 1> ’;’ >> 或 1>> ’;’ 0< 或 < ’;‘ 0<< 或 << ’) 箭头指向的方向是数据流向。
> 或 1> 输出重定向 把前面输出的东西输入到后边的文件中,会清除文件原有内容。
>> 或 1>> 追加输出重定向 把前面输出的东西追加到后面的文件尾部,不会清除文件原有内容。
0< 或 < 输入重定向 输入重定向用于改变命令的输入,后面指定输入内容,前面跟文件名。
0<< 或<< 追加输入重定向 后面跟字符串,用来表示‘输入结束’,也可以用ctrl+d 来结束输入。
2> 错误重定向 把错误信息输入到后边的文件中,会删除文件原有内容。
2>> 错误追加重定向 把错误信息追加到后面文件中,不会删除文件原有内容。
重要:
需求:文本中添加内容,命令正确输入内容,命令错误在文件中输出错误日志。
方法1: (表示命令错误)
方法2 >$
方法3 &>
1.4 在文件中添加序列
seq = sequence 序列
例:seq 10 -----从1到10
seq 3 10 -------从3到10
seq 1 3 10 --------从1到10 每数之间间隔是3
seq -s " " 10 ----------横着一行打印,从1打印到10(-s是可以指定分隔符)
2 查看目录、文件信息
2.1查看文件中添加的内容
cat 查看文件内容 例子 : cat oldboy.txt ---------查看oldboy.txt文件中的内容
2.2查看目录、属性
ls =list(列表) 列出目录 例子: ls / --------列出(查看)根目录下的目录
ls -l(long) 长格式,带属性 例子:ls -l/ ------列出根目录文件的详细信息文件
-d (directorys) 查看目录
tree -d /data -----以树状图的形式列出data下所有的目录(类似 ls -d的使用)
-a 查看目录中的隐藏文件 例: ls -a /data -------列出data目录下所有的目录、文件和隐藏文件(-a是包含隐藏文件一起显示)
tree -a /data 是以树状图的形式列出data目录下所有的目录、文件和隐藏文件(-a是包含隐藏文件一起显示)
-------上图是列出根目录下级所有目录的详细属性信息
ls -l /data 和ls -ld /data 命令的区别如下:
ls -l /data是列出/data文件下所有的文件详细属性信息;
ls -ld /data 是列出/data这个目录的详细属性信息。
2.3 查看当前所在的目录
pwd 查看当前所在的目录详细路径;
pwd -L 查看当前目录所在的详细目录;
pwd -P 查看当前目录所在的详细目录。
*****2.4 find 查找(结合5.3中删除的笔记看)
find 查找
-type 文件类型(f(file文件类型),d(directory目录),c(character字符串),b(block块、磁盘设备),s(socket通信),l(link链接))
-name 文件名
-mtime 时间 ----按修改时间查找,时间数字(+7代表七天前,7代表第七天,-7表示最近七天)
! 除了....外、非的意思
-o =or 是或者的意思
-a =and 是并且的意思
例:find / -type f -name 'tte.txt' ----------查看tte.txt文件所在的详细目录
上图中的 | (竖线),相当于从左边进右边出,把左边的信息传给右边。
2.5 查看文件中的部分内容(head用法)
head 首,头 例 : head -2 text.txt ---读取文件的前2行
例:head text.txt ----不加默认是读取前10行
2.6查看文件中的部分内容(tail用法与head用法向对应)
tail 尾部,末尾 例:tail -2 test.txt ------读取文件的最后2行
例:tail test.txt -------默认读取文件的后10行
*****2.7过滤文件中的部分内容(grep用法-----三剑客之三)
grep -v --------排除(过滤掉)(-v表示排除的意思)
grep ------过滤出内容(包含)
2.8 查看文件中间部分内容
需求:查找文件ett.txt(50行)内,前20到30行的内容。(结合1.4的seq内容查看)
seq 50 >ett.txt ------创建文件,插入50行的信息
方法1:(比较low的方法)
head -30 ett.txt |tail -11 -------head 是取前30行,tail是取后11行
*****方法2: (sed方法----重要【三剑客之二】)
sed = stream editor 流编辑器,可实现对文件的增、删、改、查、替换
sed '20,30'p ett.txt ----------该命令是输出ett.txt文本中所有的信息,不是输出20到30行的信息
sed -n '20,30'p ett.txt ---------该方法最有效率 (-n 是取消默认输出,按照规格打印出20到30行的信息; p(print)是打印的意思)
sed -n '$'p ett.txt ------$表示最后一行。
扩展:
(1)sed当作查看的方法:
(2) sed当作替换、修改的方法(替换一个文件中的信息):
g 与s联合使用时,表示对当前行全局匹配。
s 常说的查找并替换,用一个字符串替换成另一个。
-e 允许多项编辑。
-i 修改文件内容。
sed 's#oldgril#zhangsan#g' old.txt ------------改方法是替换输出的内容(s表示替换;g表示全局替换;3个#是分隔符也可用其他符号表示,一般可以用 # 或 / 或 @等,
前面是文本中的要替换的内容,后面是替换后的 内容)
sed -i 's#oldgril#zhangsan#g' old.txt -------------(加了-i 是更改old.txt文件中的内容)
(3) sed当作替换、修改的方法(替换多个文件中的信息):
需求:把oldboy目录及子目录下所有以扩展名 .sh结 尾的文件中包含oldoldboy的字符串全部替换为younggril。
另一种替换内容方法:
*****方法3:(awk 三剑客之首)
awk 过滤、输出内容,一门语言
NR 代表行号
= 是赋值
== 是等号
方法4:(可结合2.7的grep来查看)
-B 除了显示匹配的一行之外,并显示该行之前的n行
-A 除了显示匹配的一行之外,并显示改行之后的n行
-C 除了显示匹配的一行之外,并显示改行之前后各n行
2.9 树状图查看创建的文件目录及yum的用法
tree -a 显示隐藏文件
-d 只显示目录
-L 显示几级 例:tree -L 1 /oldboy -----显示oldboy目录下的一级目录和文件
-dL 只显示目录的几级 例: tree -dL 1 /oldboy -----------只显示oldboy目录下几级的目录
-f 为每个目录显示完整的路径 例:tree -dLf 2 /oldboy ------只显示oldboy目录下几级目录的完整路径
-i 去掉树状图前面的横线 例: tree -dLfi 2 /oldboy ------只显示oldboy目录下几级目录的完整路径(树状图没相连的短横线)
-F 区分文件和目录 例: tree -F /oldboy ------区分oldboy目录下的文件和目录
例:tree /data --------是以树状图的形式列出data目录下所有的目录、文件>
例:tree -a /data -------- 是以树状图的形式列出data目录下所有的目录、文件和隐藏文件(-a是包含隐藏文件一起显示)
例:tree -d /data ---------树状图的形式展示data目录下的所有目录
--------下图左,创建多级目录可以用 tree /data 查看创建的多级目录,如出现上述提示是系统未安装该 tree 软件,
可通过以下步骤来安装该程序:
安装tree步骤:
- ping Baidu.com --------拼一下该电脑是否能上网(若联网可以执行下列语句进行安装tree软件【输入该命令会一直连baidu,使用ctrl+c停止ping】)
- yum install tree -y --------下载安装tree这个软件包(-y)就是直接安装不提示
安装完成tree后可查看data的层级目录:
tree /data/ ----------查询data目录,用树状图的形状展示目录和文件
LANG=en -----------若查询的目录存在乱码,可调整字符集显示英文字符集(严格区分大小写)
3 .yum update -----------该命令是更新系统的补丁。
4 .yum install lrzsz telnet tree nmap nc -y ----------(下载安装 lrzsz 上传下载工具包(sz是下载命令,rz上传命令); 前提是在Linux服务器联网的情况下进行安装)
2.10 man 查看所有命令使用方法
man cp -------查看cp这个方法是怎么使用的(如果忘记某个方法的使用可以使用man加方法名来查看),结束查看需要输入 :q 结束。
cp --help -------该方法和man cp 方法相同。
help cd -------部分内置命令需要这样查。(cd命令的使用用man cp或者是cd --help无法查看,因为cd是系统内置命令)。
百度如果要搜索该cp的使用方法时,搜索Linux的cp命令,需把Linux带上。
2.11 which 查看命令路径的命令
which cp -----查询命令的路径
2.12 date 查看系统时间
date -----查看系统时间
date -s 10:11:01 --------修改系统时间,时分秒。
date -s "12/25/2023 23:13:05" -------修改时间,年月日,时分秒
2.13 stat查看文件的属性(包括文件大小,创建时间,修改时间等详细信息)
3.修改文件内容(分组)
xargs用法:
xargs 从标注你输入获取内容创建和执行命令 -n 数字(表示分组),该方法只支持空格才能进行分组换行,其他都没用。
4.拷贝/移动 目录、文件
4.1 拷贝文件
cp = copy 拷贝文件或目录 例:cp oldboy.txt /tmp/ ---------把data目录下的oldboy.txt文件拷贝到tmp目录下
4.2 拷贝目录
cp -r 或者 cp -a 拷贝目录
-r 递归,用于拷贝复制目录及目录下所有文件,与Windows拷贝一样目录的结果一样;
-a 相当于pdr ;
-p 连同档案的属性一起复制过去,而非使用默认属性。
例:cp -r /data /tmp/ -----------拷贝data目录及目录中所有文件到tmp目录下。
4.3拷贝文件覆盖同名文件
方法1:
\cp /am/test.txt /data/ -----------am目录下的test文件替换data目录下的test文件(cp前加\,该命令直接进行替换不提示是否替换)
方法2:
/bin/cp /am/test.txt /data/ -----------同方法一作用相同一样的作用(/bin/cp是加的命令cp的全路径)
方法3
cp /am/test.txt /data/ --------该命令有是否替换的提示信息
4.4移动目录、文件(移动到另一个目录下,之前的目录没有了)
mv 移动目录
5.删除目录、文件
5.1 直接rm删除文件(容易误删,友情提示删除目录或者文件之前请谨慎,删除无法恢复)
rm = remove 删除的意思
rm 和 rm -f 都是删除 (rm删除有提示是否删除,rm -f 删除直接删除没有提示)
删除一个文件:
例1: rm -f /data/oldboy.txt ---- ------删除oldboy.txt文件
例2 rm /root/data/a.txt ----------删除root目录下data目录下的a.txt文件
删除多个文件:
例:rm -f /data/1.txt /data/2.txt /data/3.txt
5.2 直接rm删除目录(容易误删)
rm -fr 删除目录的语法
5.3 find查找,然后删除(结合4.4笔记一起看,两者密不可分)
find 查找删除一个文件
例1:
find /data -type f -name 'oldboy.txt' -exec rm {} \; ----------查找data目录下类型(-type)为文件(f)、姓名(-name)为oldboy.txt的文件,然后执行(exec)删除(rm),
{}表示找到的内容。
find 查找多个文件,同时进行删除
例2:
6.文件的上传和下载
上传下载的是针对文件的,不能是目录,要是要下载目录,需先压缩成zip的压缩包。
传输文件除了rz、sz进行上传下载,还可以通过ftp、sftp(SSH服务)、winscp等工具来传输文件。
yum install lrzsz -y --------安装上传、下载的包(rz是上传,sz是下载,-y是不提示直接安装)
6.1文件上传
cd /oldboy --------文件上传到那个目录下就先进入哪个目录
rz ----------输入rz(上传),回车就可以选择上传文件了
rz -y -------------覆盖之前同名文件。(上传的文件覆盖之前的同名文件)
6.2 文件下载
sz 文件名 ------下载文件到客户机
sz -y 文件名 ---------下载文件直接覆盖本地之前的同名文件
7.其他
7.1 别名使用alias和unalias使用
alias 查看和设置别名 例:查看别名直接输入alias
unalias 取消别名
8 常用的快捷键
命令或路径补全:输入一个命令的首字母,按 三下 ‘tab’ 键,会显示所有首字母开头的命令单词;输入命令的两个或以上,按一次 ‘tab’ 键会补全命令。(如果tab 不到路径命
令,就代表没有这个路径或者命令,还有可能权限不够。
ctrl + c 终止当前任务命令或程序。
ctrl + d 退出当前用户环境。相当于exit 或 logout
ctrl + l (字母是L) 清理当前屏幕上的所有命令。相当于 clear 命令。
ctrl + shift + c linux命令中的复制。
ctrl + shift + v Linux命令中的粘贴。
ctrl + a 光标到一行命令开头,相当于 home 快捷键。
ctrl + e 光标到一行命令结尾,相当于 end 快捷键。
ctrl + u 清除光标前所有输入的命令(前提是在一行里面)
ctrl + k 清楚光标后所有输入的命令(前提是在一行里面)
ctrl + r 搜索(搜索今天使用过的命令按ctrl + r后输入一下就出来了)
ctrl + s 挂起(按此快捷键后,命令行无法进行输入了)
ctrl + q 解除挂起(按此快捷键后,就解除挂起可以输入命令了)
ctrl + w 清楚当前行所有的命令
uname -m 查看Linux系统是多少位的
cat /etc/redhat-release 查看操作系统 的版本
uname -r 查看内核
=================================================Linux客户机远程服务(器)故障排查思路=============================================
1.客户端连Linux服务器连不上可能原因
ping 192.168.121.23 (客户机拼服务器的地址)
不通可能原因: ip拼的不对;网线松动;防火墙未关。
2.本地电脑连服务器上的服务
/etc/init.d/iptables stop ----------阻挡防火墙开通(关闭防火墙)
netstat -lntup|grep 22 (等于netstat -lntup|grep sshd ) ------查看端口是否开放(以ssh服务端口为例)
/net/init.d/sshd restart ---------重启sshd服务。若22(sshd)端口没有开放,可用此方法重启
例:telnet 192.168.23.128 22 (客户机测试服务器上的服务是否正常,IP和端口)
不通可能原因: 服务器端防火墙阻挡; 端口没有开放,服务器端没有对应的服务。
客户端ssh工具:Securcrt,xshell,putty --------默认的端口号都是22
服务器端的ssh服务:进程名sshd;对应服务器的软件:【openssh(连接),openssl(加密)】
标签:文件,oldboy,分区,---,Linux,txt,data,目录,大全 From: https://www.cnblogs.com/houbxblogs/p/17893274.html