Linux通配符与基础优化

Linux通配符与基础优化

欢迎来到 来到大浪涛天的博客

Linux通配符与基础优化

1. 正则表达式通配符

  1. 匹配字符
  • . 任意单个字符
  • [] 匹配指定范围内的任意单个字符
  • [^] 匹配指定范围外的任意单个字符
  1. 匹配次数
  • .* 匹配前面的任意字符任意次
  • ? 匹配前面字符0或1次
  • {m,n}匹配前面字符至少M次,至多N次
  1. 位置锁定字符
  • ^ 瞄定行首,此字符后面的任意内容必须出现在行首
  • $ 喵定行尾,此字符前面的任意内容必须出现在行尾
  • ^$ 空白行

2. hash

  1. linux系统下会有一个hash表,当你刚开机时这个hash表为空,每当你执行过一条命令时,hash表会记录下这条命令的路径,就相当于缓存一样
  2. 第一次执行命令shell解释器默认的会从PATH路径下寻找该命令的路径,当你第二次使用该命令时,shell解释器首先会查看hash表,没有该命令才会去PATH路径下寻找
  3. hash表的作用:大大提高命令的调用速率。
  4. 输入hash或hash -l 可以查看hash表的内容,
    hash -r 清空hash表
  5. linux的共性,慢了就找缓存

3. scp传输命令

  1. 从本地拷文件到solaris:
scp local_file user@solaris_host:remote_path
从suse 10传文件到solaris 10
scp root@10.231.172.85:/root/zxy.txt  root@10.231.172.83:/
或者
scp ./zxy.txt   root@10.231.172.83:/
  1. 从solaris拷贝文件到本地:
scp user@solaris_host:remote_path_and_file local
从solaris 10传文件到suse 10
scp root@10.231.172.83:/ diff.txt   root@10.231.172.85:/root

4. 系统初始化相关:

  1. 修改字符集,如果ssh客户端显示出乱码,则肯定是系统的字符集和客户端那里设置不匹配
    系统里看字符集: echo $LANG; 配置文件为:/etc/sysconfig/i18n。修改完成后:source /etc/sysconfig/i18n
[root@Server sysconfig]# cat /etc/sysconfig/i18n
LANG="zh_CN.UTF-8"
[root@Server sysconfig]#
eg:
#LANG="zh_CN.UTF-8"
LANG="en_US.UTF-8"
#LANG="zh_CN.GB18030"
SYSFONT="latarcyrheb-sun16"
  1. 修改密码,不需要交互:echo "123456" |passwd --stdin ouyan
  2. history 删除历史 history -d 23,删除23行记录,history -c 删除所有历史记录
  3. 关闭selinux:
  • sed -i s#SELINUX=enforcing#SELINUX=disable#g /etc/selinux/config
  • getenforce;setenforce 0; geteforce
  1. 关闭不必要的服务:
利用for循环把所有3:on的服务都关闭,然后在利用for循环把需要的服务开启
chkconfig --list|grep "3:on"
[root@localhost /]# for oldboy in `chkconfig --list |grep "3:on" |awk -F " " '{print $1}'` ;do chkconfig $oldboy off ;done
for oldboy in crond network sshd rsyslog; do chkconfig $oldboy on ;done
chkconfig --list |grep "3:on"
或者
[root@localhost /]# for oldboy in `chkconfig --list |grep "3:on" |awk -F " " '{print $1}'|grep -vE "crond|network|sshd|rsyslog" ` ;do chkconfig $oldboy off ;done  
  1. runlevel查看运行级别,如果修改则/etc/inittab,切换则init +级别
  2. yum install tree telnet dos2unix sysstat lrzsz vim man
    yum grouplist 安装必要的软件
    安装包组的命令: yum groupinstall base
    注意删除软件包不要用yum删除,会删除依赖关系软件
  3. 修改ssh配置文件:
  • windows下的默认端口 3389 管理员administrator
  • ssh 的默认端口是22 在配置文件下更改默认端口
/etc/ssh/sshd_config
port 55232
PermitRootLogin no
PermitEmptyPasswords no
GSSAPIAuthentication no(服务器端启用了GSSAPI。
登陆的时候客户端需要对服务器端的IP地址进行反解析,
如果服务器的IP地址没有配置PTR记录,那么就容易在这里卡住)
UseDNS no
/etc/init.d/sshd restart/reload
  1. netstat -an |grep 192.168.50.1 查看linux系统的网络连接
  2. 关闭防火墙:[root@localhost ~]# /etc/init.d/iptables sto
  3. sudo:让普通用户可以拥有指定的root用户的权限
    sudo与su的区别是,sudo是角色没变,su是直接变成root
    visudo相当于编辑sudo的配置文件(/etc/sudoers)
    vi编辑器 ,98gg定位到该行,yy复制该行,p粘贴,NOPASSWD是指执行sudo的时候不需要密码。
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL

maiyat  ALL=(ALL)       NOPASSWD:ALL
  1. 开启NTP服务
# cat  /etc/inet/ntp.server
# vi /etc/inet/ntp.conf   
把ntp.conf文件中的 
server 127.127.XType.0 prefer fudge 127.127.XType.0 stratum 0 编写成 
server 220.192.8.57 
#fudge 127.127.XType.0 stratum 0
3 # /etc/init.d/xntpd start
4 查看服务是否启动:# ntpq –p
5 停止NTP服务:# /etc/init.d/xntpd stop
NTP监控:
* NTP server和client端互ping,保证能ping通
* NTP server和client服务均开启,# ps -ef | grep ntp | grep -v grep
* 若未启动,执行命令:# /etc/init.d/xntpd start
* 监控包流动:# snoop | grep -i ntp 
Using device /dev/pcn (promiscuous mode) 
facn1 -> xxx.xxx.xxx.xxx   NTP  client  (Fri Apr 18 09:33:19 2003) xxx.xxx.xxx.xx -> facn1    NTP  server  (Fri Apr 18 09:33:20 2003)
  1. linux 最简单的上传下载命令: 上传 rz ,下载 sz
    如果服务器没有安装这两个包,可以自己安装单独的包,还可以安装包组
    如果安装单独的包:
    如果安装包组: yum groupinstall "Dial-up Networking Support" -y
  2. inode
  • 每个linux存储设备被格式化为文件系统后一般有两部分,一部分是inode,第二部分是block
    block是用来储存实际数据用的,inode就是用来存储数据的属性信息的(ls -i),inode包含的属性包括文件大小,属主,归属的用户组,读写权限,文件类型,修改时间,还包含指向文件实体的指针功能
    (inode节点---block的对应关系)等,唯独不包含文件名,inode除了记录文件属性信息外,还会为
    每个文件进行信息索引,所以就有了inode的数值,系统根据指令,即可通过inode的值最快的找到
    相对应的文件实体。
  • 文件访问的原理:系统要找某个文件先会去找这个inode,找到inode后先确定inode里的属性,看该用户有没有这个权限,如果没有这个权限则返回个权限不允许,如果有这个权限indode 可以给你一个指向,让你看到文件储存的block,硬盘一格式化会划分几百万个block和inode,如果文件比较小,自动分配一个block,如果文件比较大,会分配多个block,但是都会有对应的inode以之关联。block固定大小为1K,2K,4K(其中引导分区为1K其他的普通分区为4K);,centos 5 inode的大小128字节,centos 6的inode大小为256字节
  • 查看系统里面inode和block的大小
    dumpe2fs /dev/sda3| grep -i "Inode size"/"block size"
  • 一个文件至少要占用一个inode和一个block,格式化数量inode数量会大于block的数量
    大文件要尽量分大一点的block,如果是小文件分小的block
    小的block节省硬盘空间,但是增加磁盘IO,大的block减少磁盘IO但是浪费空间
    工作中基本没有小于4K的block
  • 总结:
1. 磁盘分区格式化文件系统后会分为inode和block两部分内容
2. inode存放文件的属性以及指向文件实体的指针,文件名不在inode,,一般在上级目录的block里。
3. 访问文件通过---->inode ---->blocks
4. inode一般情况下默认大小256b,block大小有1k,2k,4k,默认是4k,引导分区等特殊分区除外。
5. df -i 查看inode数量及使用情况,dumpe2fs/dev/sda3查看的是indode及block大小及数控.
6. 一个文件至少要一个inode及一个block,对于一个文件可以占用同一个inode(硬链接)
7. 一个bolck只能被一个文件使用,如果block过大会浪费,不可以给别的文件之用
8. block和inode的大小可以在格式化的时候指定大小,25600
  1. linux 最简单的上传下载命令: 上传 rz ,下载 sz
    如果服务器没有安装这两个包,可以自己安装单独的包,还可以安装包组
    如果安装单独的包:
    如果安装包组: yum groupinstall "Dial-up Networking Support" -y
原文地址:https://www.cnblogs.com/chacha51/p/13764860.html