1、批量替换某个目录下所有文件中的某个字符串 例如将www.xuejiwnei.me替换成www.xuejinwie.com sed -i "s/www.xuejinwei.me/www.xuejinwei.com/g" `grep www.xuejinwei.me -rl .` 2、CentOS安装过程中,可以使用Ctrl+Alt+F2可以切换到字符界面;Ctrl+Alt+F3可以切换到查看安装信息的界面。 3、查看分区信息 cat /proc/partitions 4、查看分区信息 cat /proc/meminfo 5、查看交换分区信息 cat /proc/swaps 6、Linux虚拟终端翻页:Shift+Pgup 7、关闭图形界面 init 3 # 启动字符界面 开启图形界面 init 5 # 启动图形界面 startx # 不会改变系统运行级别 8、grep显示匹配内容前后 grep -C 5 # 显示匹配字符所在行的前后5行 grep -B 5 # 显示匹配字符所在行的前5行 grep -A 5 # 显示匹配字符所在行的后5行 8、终端 --> terminal 物理终端: /dev/console 控制台 虚拟终端:tty Ctrl+Alt+F[1-6] /dev/tty# 伪终端:SSH连接 /dev/pts/N 图形终端: /dev/tty7 串行终端: /dev/ttyS# 9、查看系统支持的shell cat /etc/shells 查看当前系统shell echo $SEHLL 10、命令提示符:promapt [ localhost@root ~]# PS1=[ \h@\u \W]\$ 含义: \h 主机名 \u 用户名 \w 当前工作目录的基名 \W 当前工作目录 \t 显示24小时时间格式 \T 显示12小时时间格式 \! 命令历史数 \# 开机后命令历史数 \$ 当前用户属性,$表示普通用户,#表示root用户 PS1="\[\e[1;31m\][\[\e[0m\] \[\e[1;33m\]\u@\h\[\e[0m\] \[\e[1;36m\]\w\[\e[0m\]\[\e[1;31m\] ]\[\e[0m\]\[\e[1;32m\]\\$\[\e[0m\]" 11、取目录的基名 basename /usr/local/nginx 取上一级的所有路径 dirname /usr/local/nginx 12、shell命令 内部命令 内部命令比外部命令优先级高,优先使用。 查看命令类型:type CMD 禁用内部命令:enable -n CMD 启用内部命令:enable CMD 查看被禁用的命令:enable -n 查看所有内部命令:help # 被禁用的内部命令前面有 * 号显示 外部命令 查看外部命令路径: which {-a|--skip-alias} CMD # 查找命令路径 {显示全部命令路径|忽略别名信息} whereis hash缓存表:缓存外部命令,内部命令不会在hash表中缓存 hash # 查看命令缓存 hash -r # 全部删除命令缓存 hash -d CMD # 从缓存表中清除CMD的记录 hash -t CMD # 打印缓存表中CMD的路径 hash -p /path/to/file CMD_ALISE # 给缓存表中的CMD定义别名 命令别名 alias # 查看系统定义的所有别名 alias CMD='CMD_ALISE' # 定义别名 unalias CMD # 取消定义的别名 unalias -a # 取消所有别名 \grep root /etc/passwd # 使用原始命令,不使用别名定义 # 或者全路径使用命令/usr/bin/grep root /etc/passwd # 或者使用单引号 'grep' root /etc/passwd 13、帮助信息 内部命令 help COM man bash 外部命令 man CMD info CMD 按关键字查找相关命令:man -k KEYWORD 查找帮助文档的存放路径:man -f COM 其他帮助文档: /usr/share/doc目录下的文档 14、文件传输 rz # 上传 sz # 下载 15、命令历史相关变量 ...... 16、vmware中识别新磁盘 echo '- - -' > /sys/class/scsi_host/host2/scan 17、在Linx中,有些文件系统的中,文件名称不区分大小写,例如vfat文件系统。 18、文件有两类数据:元数据(metadata)、数据。 文件名最长255个字节,包括路径在内,文件名称最长为4095个字节。 19、管道文件 prw-------. 1 root root 0 Jul 6 15:23 dmeventd-client prw-------. 1 root root 0 Jul 6 15:23 dmeventd-server 20、终端文件名称颜色显示配置文件 /etc/DIR_COLORS 21、创建含有特殊字符的文件或目录时,文件路径写全|或者加上转义符号'\' rm -rf ./abc # ./表示当前文件 22、文件通配符 * # 零个或多个字符 ? # 任意单个字符 ~+ # 当前工作目录 ~- # 上一个工作目录 [0-9] # 任意单个数字 [a-z] # 任意单个字母 注意:在Linux中,字母排序是按aAbBcCdDeEfFgG....的顺序 [A-Z] [^CHAR1-CHAR2|CHAR1 23、预定义的字符集 [:alnum:] 代表英文大小写字符及数字,亦即 0-9, A-Z, a-z [:alpha:] 代表任何英文大小写字符,亦即 A-Z, a-z [:blank:] 代表空白键与 [Tab] 按键两者 [:cntrl:] 代表键盘上面的控制按键,亦即包括 CR, LF, Tab, Del.. 等等 [:digit:] 代表数字而已,亦即 0-9 [:graph:] 除了空白字符 (空白键与 [Tab] 按键) 外的其他所有按键 [:lower:] 代表小写字符,亦即 a-z [:print:] 代表任何可以被打印出来的字符 [:punct:] 代表标点符号 (punctuation symbol),亦即:" ' ? ! ; : # $... [:upper:] 代表大写字符,亦即 A-Z [:space:] 任何会产生空白的字符,包括空白键, [Tab], CR 等等 [:xdigit:] 代表 16 进位的数字类型,因此包括: 0-9, A-F, a-f 的数字与字符 22、同时创建多文件 touch file{1..9} 23、创建一个空文件 (重定向) > filename 注意:这种方式会覆盖掉文件 >> filename 24、剔出用户 pkill -kill -t pts/2 25、CentOS 7 添加默认路由 ip route add default via 172.18.0.1 dev ens33 26、索引节点 inode inode:存储文件的元信息,包括创建者、时间戳、文件大小等属性。 inode元信息:   * 文件的字节数   * 文件拥有者的User ID   * 文件的Group ID   * 文件的读、写、执行权限   * 文件的时间戳,共有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间。   * 链接数,即有多少文件名指向这个inode   * 文件数据block的位置 每个数据块大小为4K。 27、CentOS 7和CentOS6 设置默认启动字符界面 CentOS7: #!/bin/bash # case $1 in "off") echo -e "\033[32m graphic interface off.\033[0m" ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target reboot ;; "on") echo -e "\033[32m graphic interface on.\033[0m" ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target reboot ;; "*") echo -e "\033[31m Parameter error!\033[0m" ;; esac CentOS6: 修改inittab文件 id:3|5:initdefault: 28、yum源配置,如果有yum的名称相同,则不会识别yum源。 29、扫描局域网IP nmap -sP -PI -PT 172.18.0.0/16 >> /ip0.log cat /ip0.log | grep -v "MAC" | grep -v "Host" | cut -d' ' -f5 | head -n 184 | tail -182 30、screen 开启screen会话后,screen进程和当前bash进程剥离,成为一个单独的进程。Ctrl+A D 剥离当前screen会话,screen之下的bash进程中运行的进程会自动进入后台运行。 31、分区类型 MBR GPT 32、Linux 分区规划 /dev/sda1 mount /boot /dev/sda2 mount / /dev/sda3 mount /data 33、Linux安装过程中 Atl + F1-6可以切换查看不同的信息 34、修改图形界面的Linux开机自动登录 /etc/gdm/custom.conf [daemon] AutomaticLoginEnable=true AutomaticLogin=root 35、/etc/motd 设置登录欢迎信息 motd : message of the tody 36、命令调用优先级:别名、内部命令、hash表、外部命令 内部命令的历史记录不会hash到缓存中。 37、Linux 配置DNS 1、/etc/sysconfig/network-scripts/ifcfg-ens33 PEERDNS="yes" # 是否在BOOTPROTO为dhcp时接受服务器指定的DNS地址 DNS1= DNS2= 2、在/etc/resolv.conf配置文件中配置的DNS临时生效。 38、关于su命令 su USERNAME # 半切换,bash环境变量还是前一个用户的配置,不读取USERNAME的环境配置文件 su - USERNAME # 完全切换,相当于重新登录,读取USERNAME的环境配置文件 39、CentOS 7 进入单用户模式修改root密码 开机界面 e ro ,修改为 init=/sysroot/bin/sh chroot /sysroot passwd root touch / .autorelabel exit reboot 40、CPU频率|超频 频率:CPU一秒内发生的脉冲数。单位Hz 41、服务器/家用,CPU型号|类型 42、数据单位 b bit 比特 B Byte 字节 KB MB GB TB PB EB ZB YB 1KB=1024Byte 44、时区问题 1、时区 1863年首次使用时区的概念。理论时区:子午线东西各延伸7.5度,即每15度一个时区。 中国面积广大,东西横跨经度64°,分布在从东五区到东九区的五个时区内。为了便于东西间的联系,现在全国都采用东八区的标准时间, 也就是“北京时间”,作为全国统一的时刻。 2、UTC 世界协调时间(Universal Time Coordinated,UTC) GMT 格林威治标准时间(Greenwich Mean Time GMT) 指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线 经度为零的地点在英国『格林威治』 CST 国家标准时间(Central Standard Time CST) # UTC和GMT时间一样,都与英国伦敦的本地时间相同。 3、修改时区 cp /etc/share/zoneinfo/Asia/Shanghai /etc/localtime 45、冯诺依曼体系简介 计算机组成架构:运算器、控制器、存储器、输出设备、输入设备 46、单引号和双引号的引用性质 反向单引号。变量引用 单引号强引用。不识别变量 双引号弱引用。变量识别 47、whatis CentOS6: 查找本地数据库,进而查找数据信息的。 makewhatis 可以手动生成数据库。 数据库位置在/var/cache/man/whatis CentOS7: mandb 命令生成数据库 数据库位置在/var/cache/man 48、man的配置文件/etc/man.config(CentOS6) | /man_db.conf(CentOS7) man -M /path/to/man.file man命令 选项: -a # 列出所有章节手册 -k keyword # 列出所有匹配的页面 -f # 相当于whatis 49、切换终端 ch vt 1 50、Linux文档 http://www.nginx.org http://kbase.redhat.com http://access.redhat.com http://tldp.org http://www.slideshare.net 51、终端录屏 script -t 2> /works/time.log -a /works/cmd.log # 记录 scriptreplay time.log cmd.log # 播放 52、配置/etc/issue文件 \l # 插入当前tty的名称 \m # 平台架构,相当于umame -m \d # 当前如期 \s # 操作系统名称,相当于umame -s \n # 显示主机名,相当于uname -n \r # 显示内核版本,相当于uname -r \t # 显示当前时间 \u # 显示当前用户登录数量 53、查询某个命令是由那个安装包安装的 rpm -qf /usr/bin/bash 或者 yum whatprovides patch # 支持统配符 54、取随机数 head -c 500 /dev/urandom | tr -dc '0-9A-Za-z' | head -c 20 55、apache更换家目录问题 1、path 主要作用就是对目录文件访问权限进行控制 2、 AllowOverride none Require all denied 表示apache默认对根目录是拒绝访问的。 56、数据单位|带宽问题 1B(Byte字节)=8bit b 1KB (Kilobyte 千字节)=1024B 1MB (Mega byte 兆字节 简称“兆”)=1024KB 1GB (Giga byte 吉字节 又称“千兆”)=1024MB 1TB (Tera byte 万亿字节 太字节)=1024GB,其中1024=2^10 (2的10次方) 1PB(Peta byte 千万亿字节 拍字节)=1024TB 57、最小化安装的CentOS中bz2压缩包不能解压问题 问题原因:缺少lbzip2包 解决办法:yum install lbzip2 58、dd命令修改MBR中的最后两个字节 # 将mbr中的最后两个字节55AA覆盖掉 dd if=/dev/zero of=mbr bs=1 count=2 seek=510 conv=notrunc seek= 表示在 [输入目的地] 509个字节处开始将输出的内容复制 skip= 表示在 [输出的内容] N个字节处开始复制 notrunc 不截断输出 60、当前终端宽度和长度 [ root@localhost /works/test ]# echo $LINES 46 [ root@localhost /works/test ]# echo $COLUMNS 191 61、高可用性 High availability,缩写为 HA 指系统故障无法运行使用的时间与系统总运行时间的比较。A(可用性),MTBF(平均故障间隔),MDT(平均修复时间) A=MTBF/(MTBF+MTTR) 可用性 年故障时间 99.9999% 32秒 99.999% 5分15秒 99.99% 52分34秒 99.9% 8小时46分 99% 3天15小时36分 62、冒泡排序算法 1、比较第一个数和第二个数,如果第一个数比第二个数大,则交换位置 2、比较第二个数和第三个数,如果第二个数比第三个数大,则交换位置,否则不交换 3、一轮比较之后,最大的排到的最后 4、一次对每一对相领是数进行比较,达到排序的目的 63、命令引用时,` ` 和 $()是等价的 64、异或问题 1 1 0 0 1 1 1 0 1 0 0 0 65、进程优先级问题 66、bash中整数及小数的计算 在Linux中可以计算的工具let和expr都只能计算整数的运算。bc支持任意精度的浮点运算。 echo "scale=5;$1/$2" | bc scale=N # 指定精度 67、SElinux关闭问题 /etc/sysconfig/selinux 中配置关闭SElinux不生效。需要在/etc/selinux/config配置文件中配置关闭。 68、httpd更换家目录 例如DocumentRoot "/works/test" 则默认用户对/works/test目录下的文件没有访问权限,即是对/works/test的限制, 使用则可以对html中的文件访问权限进行限制。 69、解压initramfs文件 CentOS6: # 查看文件类型,发现是gzip格式压缩的文件 file initramfs-2.6.32-696.el6.x86_64.img # 修改文件名 mv file initramfs-2.6.32-696.el6.x86_64.img file initramfs-2.6.32-696.el6.x86_64.img.gz # 解压文件 gunzip file initramfs-2.6.32-696.el6.x86_64.img.gz # 再次查看文件类型,ASCII cpio archive file file initramfs-2.6.32-696.el6.x86_64.img # 利用cpio接开归档文件 cpio -ivd < initramfs-2.6.32-696.el6.x86_64.img CentOS7: /usr/lib/dracut/skipcpio initramfs-3.10.0-514.el7.x86_64.img | zcat | cpio -ivd 70、apache 隐藏版本设置指令 ServerTokens Prod ServerTokens Full (or not specified) Server sends (e.g.): Server: Apache/2.4.2 (Unix) PHP/4.2.2 MyMod/1.2 ServerTokens Prod[uctOnly] Server sends (e.g.): Server: Apache ServerTokens Major Server sends (e.g.): Server: Apache/2 ServerTokens Minor Server sends (e.g.): Server: Apache/2.4 ServerTokens Min[imal] Server sends (e.g.): Server: Apache/2.4.2 ServerTokens OS Server sends (e.g.): Server: Apache/2.4.2 (Unix) 71、禁用 CentOS7 Ctrl + Alt del 重启 删除 /usr/lib/systemd/system/ctrl-alt-del.target 软链接即可。 72、Nginx负载均衡,存在二级代理 location / { proxy_pass http://web; proxy_set_header Host $host; } httpd 使用 fastcgi 代理动态: 354 ProxyRequests Off 355 ProxyPassMatch ^/(.*\.php)$ fcgi://172.18.26.6:9000/discuz/$1 356 AddType application/x-httpd-php .php 357 AddType application/x-httpd-php-source .phps