Linux学习记录

2015.10.7


IDE硬盘:hda1,hda2,....

scsi/sas/sata碍盘:sda1,sda2,....


linux 分区 

BOOT 一般分200M左右即可,标记为主分区 force to be a primary partition

SWAP 内存小于8G ,建议1.5倍

     内存大于8G ,建议8-16G即可  标记为主分区 force to be a primary partition

/    剩余所有空间  标记为主分区 force to be a primary partition


#uname -r  查看版本

#uname -a  查看版本


先选择最小化安装,然后自定义安装选项中:

Base System 下勾选

Base

Compatilility libraries

Debugging Tools


Development 下勾选

Development tools


如果没装,用以下命令行安装即可:

yum groupinstall "Compatibility libraries" "Base" "Development tools"

yum groupinstall "debugging Tools" "Dial-up Networking Support"

可以通过yum groupinfo 包组查看具体安装的组件。

3、下面安装6.5后登陆系统的时候查看选包的情况:

yum grouplist:

Installed Groups:

   Base

   Compatibility libraries

   Debugging Tools

   Development tools

   E-mail server

   Graphical Administration Tools

   Hardware monitoring utilities

   Legacy UNIX compatibility

   Networking Tools

   Performance Tools

   Perl Support

   Scientific support

   Security Tools

*可以看到除了我们选择的外,系统还是默认安装了一些额外的软件包组。


安装完毕,登录系统

  1. 先配置网卡

    #setup  用界面进行配置

    vi /etc/sysconfig/network-scripts/ifcfg-eth0

    将ONBOOT=no   改为  ONBOOT=yes    即表示开机启动网卡


    查看网络配置情况

    #cat /etc/sysconfig/network-scripts/ifcfg-eth0

    查看网络连接情况

    #ifconfig

     

  2. 配置网卡后需重启网卡

    #ifup eth0

    #/etc/init.d/network restart

    或

    #service network restart


2015.10.9

至此,虚拟机系统安装及网卡配置已完成

疑问:Centos6.6 最小化模式安装默认开启SSH 22端口  ??  安全??


3.安装SecureCRT,并新建连接至Centos6.6 系统

  如果能ping通,但无法连接,请依次检查网络配置,DHCP服务及防火墙是否关闭

  #/etc/init.d/iptables stop           关闭防火墙 最好执行二次

  SecureCRT 设置:选项--会话选项--仿真  类型改为: linux  回滚缓冲区改为: 3200

                 外观--标准字体和精确字体改为 适应大小  光标颜色改为 醒目颜色

                 日志文件--  %S-%Y-%M-%D.txt 勾选:在连接上启动记录 追加到文件 每天一个


4.Linux命令约150个,常用约80个

命令操法语法:   

     命令 参数 路径文件

   如  rm -f /temp/t.log


TAB键:命令、路径补全


命令 --help   命令的简单帮助

man       ===命令的复杂帮助

ls        ===查看目录列表

mkdir     ===创建一个目录,例如:mkdir /data  或 cd /;mkdir data  

              -p 递归创建目录

ls        ===查看这个目录,例如:ls -ld /data

touch     ===创建一个文件,例如:touch 123.txt 或 touch /data/123.txt 

pwd       ===查看当前路径

vi        ===编辑器,相当于记事本,功能较弱 

          输入 i a o 进入编辑模式   Esc 退出命令模式    :wq 保存退出

vim       ===复杂编辑器,相当于notepad++,emeditor,editplus

echo      ===显示输出作用

          echo "asdf123lsdf">>/data/123.txt

          echo 111444 1>>123.txt 2>>err.txt  正确追加至123.txt 错误追加到err.txt

cat       ===查看文件  -n  显示行号

             特殊用法:增加多行内容

             cat >>/data/123.txt<<EOF

             123456

             EOF

             EOF要成对出现,EOF可以被任意成对内容替换

cp        ===拷贝命令 例:cp 123.txt /tmp/

          -a:相当于 -pdr

          -d:若源文件为链接文件(link file),则复制链接文件属性而非档案本身

          -f:强制,若目标档案已存在且无法开启,则移除后再尝试

          -p:连同档案的属性一起复制过去,而非使用默认属性

          -r:递归,用于复制目录

          -u:若目标文件存在,则目标文件比源文件旧时才复制

          提示:若源文件是多个,则目的文件在最后,且是目录

          cp的重要参数:apr

          覆盖文件不提示办法: \bin\cp /123.txt /root

                              或 \cp  /123.txt /root

diff    ===比较文件 diff 111.txt 222.txt

vimdiff  ===高亮显示对比文件不同地方

mv        ===移动目录或文件,例: mv /data /root/

rm        ===删除命令  -f 强制 -r 删除目录

find      ===查找命令  find /root/data/ -type f  按文件类型查找

                       find /root/data/ -type f -exec rm -f {} \;  且入理

                       find /root/data/ -type f|xargs rm -f   且加入管道处理

                       find /data/ -type f ! -name "4.txt"|xargs rm -f 除4.txt 外处理

           -type 按文件类型查找 f 表示普通文档 d 目录  !取反

           -name "文件名" 按文件名查找

head      ===头部,取文件前N行,默认前10行,取前三行 -n 3 简写-3

tail      ===尾部,取文件后N行,默认前10行,取前三行 -n 3 简写-3 

             -f 跟踪一个文件尾部的实时变化

awk       取列===一门语言,过滤内容(取列)    三剑客老大

          awk '{print $1}' 文件  <===$1 第一列

          awk -F "分隔符"  '{print $1}' 文件  -F 指定分隔符

          例:awk -F ":" '{print $(NF-2)}' /etc/passwd         NF-1:倒数减1列

          例:awk '{if(NR>20&&NR<26) print $0"\n" }' /etc/passwd  显示出文件21-25行

             NR代表行号,&&并且 \n 回车  $0 表示整行

grep      ===过滤器,把想要或不想要的分开  -v 排除 -i 不区分大小写,-E过滤多个字符串,

              -o输出精确匹配的字符而不是默认的整行    三剑客老三

             例 grep -v "123" /data/123.txt  显示排除123的123.txt

         grep "string" -B 5 /路径文件  -B 除匹配行外并显示前5行,-A后5行,-C前后5行


sed       取行=== 例 sed -n ' /过滤的内容/处理的命令' 文件  三剑客老二

                     -n 取消sed默认输出

                处理的命令:p print打印,d delete删除

             例:取1.txt文件5~10行显示 sed -n '5,10p' 1.txt

                                     head -10 | tail 4

             awk '{if(NR<11 && NR>4) print $1"\n"}' 1.txt  NR代表行号 &&(and) \n 回车

         sed -i 's#123#456#g' a.txt        s 查找并替换   g 与s联合使用时,表示对当前行全局替换 -i 修改文件内容  "#"分隔符,可以用/@等替换.

yum       ===linux里包管理器

       例:yum install tree -y 下载tree包,然后调用rpm安装,如需依赖,帮你下载提前安装

rpm   -ivh (安装、显示输出、人类可读)  

       例: rpm -ivh 包名.rpm  (提前下载好) 最大问题,依赖问题不好解决

      rpm -qa 包名    ---检查包是否安装

tree     ====显示树形目结构

alias    ====查看以及定义别名  注:别名定义为临时生效,重启后还原

例:alias rm=' echo "rm can not be used,please use mv"'  禁止使用RM命令

alias cp='cp -i"

如何覆盖不提示确认  

  1. 全路径使用命令 例: /bin/cp /1.txt /root/   

  2. 命令前加\ 例: \cp /1.txt /root/

  3. 取消命令别名

    别名生效位置:针对root用户 : /root/.bashrc

    全局生效: /etc/basrc 或 /etc/profile定义

    生效: source /etc/profiles

unalias  ====取消别名  例: unalias cp

别名的作用:1.通过给危险命令加一些保护参数,防止人为误操作. 2.把很多复杂的字串或命令变为简单


seq      ====序列  -s 指定序列的分隔符   例:seq -s "@" 1 5 100  5为步长

history  ====历史,查看命令行历史

cat /etc/redhat-release ===查看系统版本

uname    ===打印系统信息  -a  -r -m ....

hostname ===查看主机名

$ ===普通用户提示符

# ===超级用户提示符

whoami ===查看当前用户

su  ===角色切换 su - 用户名  -参数切换用户环境变量,普通切管理需密码,root切普通无需输密码

getenforce 检查selinux状态

setenforce 设置selinux状态 1启用 0警告/不启用

runlevel   查看当前系统运行级别

init 5  切换运行级别  切换数字有0~6

chkconfig  设定开机自启动服务



特殊字符命令:

">"或"1>"     ===意为重定向,会清除文件里所有以前数据,增加新数据

">>"或"1>>"   ===追加重定向,文件结尾加入内容,不会删除已有文件内容

    例如:echo "123456" >123.txt   echo "123456" >>123.txt

"<0"    ===输入重定向

"<<00"   ===追加重入重定向

  1. 标准输入(stdin): 代码为0  使用 < 或 <<       数据流向从右向左

  2. 正常输出(stdout):代码为1 使用 > 或 >>   数据流向从左向右

  3. 错误输出(stderr):代码为2 使用 2> 或 2>>

箭头指向就是数据的流向

\    ===让一个有意义的字符,脱掉马甲

..   ===上级目录

.    ===当前目录

|    ===管道(把前一个命令结果的输出交给后一个程序续继处理)

~    ===用户家目录,针对root环境 ~ 就表示/root

;    ===命令分隔符

{}   ===生成字符或数字序列,一般配合echo 等命令使用,find里的{}意思为前面命令的结果

        例:创建以AA开头的100个序列文件 touch AA{001..100} 

!    ===1  !+字母 表示调出最近一次以此字母开头的命令 

        2  !!  表示使用最近一次操作的命令

        3  !+数字 表示调出历史的第几条命令

-    ===上一次操作的目录, - 由OLDPWD变量控制  例: cd -  返回到上一次操作目录

基础正则表达式:一些特殊的符号 表示一些特殊的作用和功能

. 单个任意字符

* 重复前面任意0个或多个字符

.* 匹配任意字符

sed -r 's#(可以用正则表达式)#\1#g' 456.txt 把前面的正则匹配的结果,在后面用\1取出来操作




快捷键

TAB    命令补全+补全路径

ctrl + c  终止当前任务命令或程序

ctrl + d  退出当前用户环境,相当于exit  logout

ctrl + l  清屏 clear

ctrl + a  光标移至最前

ctrl + e  光标移至最后

ctrl + u  清除光标前字符

ctrl + k  清除光标后字符




互传文件

windows<======>linux

ftp/winscp/http/rz-sz

yum install telnet lrzsz nmap dos2unix -y


例: 使用 rz-sz 工具上传下载

配置 SecureCRT 会话选项中 Xmodem/Zmodem 上传下载目录

在服务器中安装lrzsz

yum install lrzsz -y

使用rpm -qa lrzsz 检查软件安装情况

上传 rz -y  弹出上传对话框  选择上传文件 (注意不要勾选以ASCII方式上传) 参数 -y 覆盖

下载 sz -y 文件路径/文件名   


-------------------------------------------

Linux优化

  1. 建立普通帐户,使用普能用户登录

  2. 处理SELinux

  3. 处理防火墙

  4. 精简开机自启动服务。 sshd,network,crond,rsyslog,sysstat

  5. linux最小化安全理念



关闭SELinux功能

sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config  替换内容  重启生效

grep =disabled /etc/selinux/config  检查内容

getenforce 检查selinux状态

setenforce 设置selinux状态 1启用 0警告/不启用


运行级别

cat /etc/inittab  运行级别说明

#   0 - halt (Do NOT set initdefault to this)

#   1 - Single user mode

#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)

#   3 - Full multiuser mode   ---------默认运行级别

#   4 - unused

#   5 - X11

#   6 - reboot (Do NOT set initdefault to this)


runlevel   查看当前系统运行级别

init 5  切换运行级别


精简开机启动

1.sshd  远程边接服务

2.rsyslog 将各种信息记录到日志中的服务 

3.network 网络接口服务

4.crond   周期性执行系统及用户配置的任务计划

5.sysstat  监测系统性能及效率的一组工具

     集成主要工具为:  iostat  工具提供CPU使用率及硬盘吞吐率的数据

                      mpstat  工具提供与单个或多个处理器相关的数据

                      sar     工具负责收集\报告并存储系统活跃的信息

cat /var/log/messages

dmesg


setup---第四项 系统服务

ntsysv---

处理保留开启服务的方法(3种):

for name in `chkconfig  --list|grep 3:on|awk '{print $1}'|grep -Ev "sshd|network|rsyslog|crond|sysstat"`;do chkconfig $name off;done


chkconfig  --list|grep 3:on|awk '{print $1}'|grep -Ev "sshd|network|rsyslog|crond|sysstat"|sed -r 's#(.*)#chkconfig \1 off#g'|bash


chkconfig  --list|grep 3:on|awk '{print $1}'|grep -Ev "sshd|network|rsyslog|crond|sysstat"|awk '{print "chkconfig " $1 " off"}'|bash


chkconfig  --list|grep 3:0n 检查运行级别3 默认开机启动服务


关闭防火墙:/etc/init.d/iptables stop

查看防火墙:/etc/init.d/iptables stop  或  iptables -L -n

关闭开机自启动防火墙:chkconfig iptables off


运维思想最小化原则

  1. 安装linux系统最小化,即选包最小化,yum安装软件包也要最小化,无用的包不装

  2. 开机自启动服务最小化,即无用的服务不开启

  3. 操作命令最小化   如:rm -f 1.txt 而不用 rm -fr 1.txt

  4. 登录linux用户最小化,无需求不用root登录,用普通用户登录即可

  5. 普能用户授权最小化,即只给必须的管理系统命令即可

  6. linux系统文件及目录设置最小化,禁止随意创建、更改、删除


-------------------------------------------


修改SSH登出端口

/etc/init.d/sshd start  开启服务 

  1. 备注原文件 cp /etc/ssh/sshd_config /etc/ssh/sshd_config.server.20160108

  2. vim /etc/ssh/sshd_config   :set nu 加行号

    修改13行  #Port 22  为 Port 52113

    修改14行  #ListenAddress 0.0.0.0  为 ListenAddress 内网IP

    修改42行  #PermitRootLogin yes  为 PermitRootLogin no

    修改81行 GSSAPIAuthentication yes 为 GSSAPIAuthentication no  多台远程SSH慢问题

    修改122行 #UseDNS yes  为 UseDNS no

本文出自 “AirSky学习Linux” 博客,谢绝转载!

你可能感兴趣的:(linux,primary,记录,空间)