CentOS7 检查查看精简指令: //////////////////////////检查查看精简指令://///////////////////////////// ///////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// Centos查看系统硬件信息 分类: LINUX [root@yongsen ~] # uname -a # 查看内核/操作系统/CPU信息的linux系统信息命令 [root@yongsen ~] # head -n 1 /etc/issue # 查看操作系统版本,是数字1不是字母L [root@yongsen ~] # cat /proc/cpuinfo # 查看CPU信息的linux系统信息命令 [root@yongsen ~] # hostname # 查看计算机名的linux系统信息命令 [root@yongsen ~] # lspci -tv # 列出所有PCI设备 [root@yongsen ~] # lsusb -tv # 列出所有USB设备的linux系统信息命令 [root@yongsen ~] # lsmod # 列出加载的内核模块 [root@yongsen ~] # env # 查看环境变量资源 [root@yongsen ~] # free -m # 查看内存使用量和交换区使用量 [root@yongsen ~] # df -h # 查看各分区使用情况 [root@yongsen ~] # du -sh # 查看指定目录的大小 [root@yongsen ~] # grep MemTotal /proc/meminfo # 查看内存总量 [root@yongsen ~] # grep MemFree /proc/meminfo # 查看空闲内存量 [root@yongsen ~] # uptime # 查看系统运行时间、用户数、负载 [root@yongsen ~] # cat /proc/loadavg # 查看系统负载磁盘和分区 [root@yongsen ~] # mount | column -t # 查看挂接的分区状态 [root@yongsen ~] # fdisk -l # 查看所有分区 [root@yongsen ~] # swapon -s # 查看所有交换分区 [root@yongsen ~] # hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备) [root@yongsen ~] # dmesg | grep IDE # 查看启动时IDE设备检测状况网络 [root@yongsen ~] # ifconfig # 查看所有网络接口的属性 [root@yongsen ~] # iptables -L # 查看防火墙设置 [root@yongsen ~] # route -n # 查看路由表 [root@yongsen ~] # netstat -lntp # 查看所有监听端口 [root@yongsen ~] # netstat -antp # 查看所有已经建立的连接 [root@yongsen ~] # netstat -s # 查看网络统计信息进程 [root@yongsen ~] # ps -ef # 查看所有进程 [root@yongsen ~] # top # 实时显示进程状态用户 [root@yongsen ~] # w # 查看活动用户 [root@yongsen ~] # id # 查看指定用户信息 [root@yongsen ~] # last # 查看用户登录日志 [root@yongsen ~] # cut -d: -f1 /etc/passwd # 查看系统所有用户 [root@yongsen ~] # cut -d: -f1 /etc/group # 查看系统所有组 [root@yongsen ~] # crontab -l # 查看当前用户的计划任务服务 [root@yongsen ~] # chkconfig –list # 列出所有系统服务 [root@yongsen ~] # chkconfig –list | grep on # 列出所有启动的系统服务程序 [root@yongsen ~] # rpm -qa # 查看所有安装的软件包 [root@yongsen ~] # cat /proc/cpuinfo # 查看CPU相关参数的linux系统命令 [root@yongsen ~] # cat /proc/partitions # 查看linux硬盘和分区信息的系统信息命令 [root@yongsen ~] # cat /proc/meminfo # 查看linux系统内存信息的linux系统命令 [root@yongsen ~] # cat /proc/version # 查看版本,类似uname -r [root@yongsen ~] # cat /proc/ioports # 查看设备io端口 [root@yongsen ~] # cat /proc/interrupts # 查看中断 [root@yongsen ~] # cat /proc/pci # 查看pci设备的信息 [root@yongsen ~] # cat /proc/swaps # 查看所有swap分区的信息 状态: systemctl status network////////////查看服务状态 top 分析linux的性////////////参见下文:top详细解释: systemctl status network ///////网络状态 //////查看服务端口号 netstat -anp|grep ssh ip addr 、//////IP查看 /////CentOS7中查看selinux状态 sestatus SELinux status: disabled ?#?CentOS7重启网卡的命令如下 systemctl?restart?network.servic 运维 ////////////////看防火墙设置//////////////////////// 旧指令://///////////////////////// 直接使用iptables -L查看防火墙设置 service iptables stop关闭防火墙 service iptables start/restart开启或重启 新指令: systemctl status firewalld.service //////////////////////////////////////////////////// //////////////////////检查服务是否正在运行 检查Gmond服务是否正在运行,发出如下命令:ps aux | grep gmond ///////////查看centos的系统版本 ////////////////// 分类: LINUX centos查看系统的版本,比如6.4 1、cat /etc/issue 2、cat /etc/redhat-release 3、rpm -qa | grep centos-release 4、 cat /etc/system-release //////////////////////////////////////////////////////////// ////////查看设备io端口///////////////// netstat -tupln ////////通过IP查看MAC ///////////////// $ arp 192.168.189.8 ///////////路由查看://///////// route ////////////////////////////磁盘查看://////////////////////////// ///////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// 磁盘查看: df -h 看 fdisk -l du -Sh ls -lish du -sk * | sort -n //从小到大看看当前目录下的空间使用情况 df -hl //////Df 命令是以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息,命令格式: ///////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// 服务: systemctl –failed //////////////检查是否有失败的服务 /////////////////////////////执行指令://////////////////////////// ///////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// 时间 同步 ntpdate ntp.fudan.edu.cn 执行指令: 1.新建文件夹 mkdir 文件名 执行指令–网络:////////////////////////// //////////////////重启网络: service network restart ///// ?#?CentOS7重启网卡的命令如下 systemctl?restart?network.servic nmtui ///////网络管理 ip addr 、//////IP查看 ///////////////////开机启动 使用systemctl enable xxxxx就可以将所编写的服务添加至开机启动即可。 例:设定开机启动一个名为NetworkManager-wait-online服务,命令为: systemctl enable NetworkManager-wait-online.service //////////////关闭防火墙 systemctl stop firewall.service systemctl is-enabled iptables.service systemctl is-enabled servicename.service #查询服务是否开机启动 systemctl enable *.service #开机运行服务 systemctl disable *.service #取消开机运行 systemctl start *.service #启动服务 systemctl stop *.service #停止服务 systemctl restart *.service #重启服务 systemctl reload *.service #重新加载服务配置文件 systemctl status *.service #查询服务运行状态 systemctl –failed #显示启动失败的服务 //////////////////////////////设置指令的别名。 alias 功能说明:设置指令的别名。 语 法:alias[别名]=[指令名称] 补充说明:用户可利用alias,自定指令的别名。 //////////////////////////////////////////////////////// CentOS磁盘分区添加删除 2015-10-22 14:26:05 分类: LINUX Linux硬盘分区(一):添加 过程简述 –添加磁盘 fdisk -l –查看磁盘情况 fdisk /dev/sdb –为/dev/sdb设备分区 n –添加分区 p/e –主分区/逻辑分区 w –保存退出 mkdir /data –创建挂载目录 mkfs.ext3 /dev/sdb –格式化磁盘为ext3文件系统 fdisk -l –再次查看磁盘情况 mount /dev/sdb /data –挂载磁盘到创建的挂载目录下 vi /etc/fstab –修改启动自动挂载项 /dev/sdb /data ext3 defaults 0 0 说明 1、以上操作为精炼总结,若如可以看懂,下面内容无需浏览; 2、以下简单列举两例,细化操作过程。 //////////////////////////////////////////CentOS系统挂载U盘的必备方案 CentOS系统挂载U盘的必备方案 时间:2014-07-24 15:15来源:系统之家作者:zhang 很多系统用户想在CentOS系统上挂载U盘,但是在网上搜索了很多资料去操作仍旧不能如愿,那应该怎么操作才能顺利地挂载U盘呢?来看下高手的操作技巧吧。 在CentOS系统挂载U盘的必备方案: 1、以root用户登陆 用fdisk -l 看看U盘的设备 假如U盘是sda1 2、确定在 目录 /mnt 下建立了 文件夹 /usb,如果未建立可键入一下命令:mkdir /mnt/usb_disk,成功后进行下一步。 3、载入 u 盘,需键入以下命令:mount /dev/sda1 /mnt/usb_disk 成功后,即可使用 u 盘了, 文件就在目录 /mnt/usb 下。 4、卸载u盘:在使用完u盘后,在拔出前需要先键入卸载U盘命令 命令如下:umount /mnt/usb 以上的简单步骤便能顺利地让你在CentOS系统上挂载U盘了,在这里我们需要为大家提示的是,在复制完文件后注意卸载U盘哦,如果是没卸载的情况下拔出,后来再插上就不能读到U盘了,插到Windows系统便要提示重新格式化U盘。希望对大家有所帮助。 12547 /////////////////////////////////////////////////////////////// 删除 rm -r 递归删除目录 ///////////////////////问题处理////////////////////////////////// ///////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////// YUM 出错 [root@localhost bin]# yum install yum 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.zju.edu.cn * epel: ftp.cuhk.edu.hk * extras: mirrors.163.com * updates: mirrors.163.com File “/usr/libexec/urlgrabber-ext-down”, line 28 except OSError, e: ^ SyntaxError: invalid syntax File “/usr/libexec/urlgrabber-ext-down”, line 28 except OSError, e: ^ SyntaxError: invalid syntax 原因:安装新版Python 后出现在的问题。 解决办法: vi /usr/libexec/urlgrabber-ext-down 把头部的python改成和/usr/bin/yum中一样的 ////////////////////////////////////////////////////// ///////安装好CentOS 7的minimal后网络不通问题 安装好CentOS 7的minimal后,第一件事就是设置网络访问。 首先需要用 nmtui 命令进入 Network Manager,如下: 设置好后: 设定开机启动一个名为NetworkManager-wait-online服务,命令为: systemctl enable NetworkManager-wait-online.service ////////部署ganglia后80端口被tcp6占用问题 netstat -lntp|grep 80 直接kill PID 后 重启httpd systemctl restart httpd.service //////////部署ganglia后httpd不能web访问问题 关闭防火墙 systemctl stop firewall.service ///////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// 注销,关机,重启 Login://///////////////// ← 回到登陆的画面 [root@localhost root]#shutdown now////////////////// ← 立刻关机 [root@localhost root]#shutdown +5 ///////////////////← 5分钟后关机 reboot ///////重启 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// centos7.0 没有netstat 和 ifconfig命令问题 yum install wget 运行 yum install net-tools 就OK了 ///////////////////////////////////////////////// centos彻底删除文件夹、文件命令(centos 新建、删除、移动、复制等命令: 1.新建文件夹 mkdir 文件名 新建一个名为test的文件夹在home下 view source1 mkdir /home/test 2.新建文本 在home下新建一个test.sh脚本 vi /home/test.sh 3.删除文件或文件夹 1、删除home目录下的test目录 rm /home/test 2、这种不带参数的删除方法经常会提示无法删除,因为权限不够。 rm -r /home/test 3、-r是递归的删除参数表中的目录及其子目录。 目录将被清空并且删除。 当删除目录包含的具有写保护的文件时用户通常是被提示的。 rm -rf /home/test -4、f是不提示用户,删除目录下的所有文件。请注意检查路径,输成别的目录就悲剧了。 rm -ir /home/test 5、-i是交互模式。使用这个选项,rm命令在删除任何文件前提示用户确认。 4.移动文件或文件夹 mv [options] 源文件或目录 目标文件或目录 示例: 1、移动hscripts文件夹/目录下的所有文件,目录和子目录到tmp目录mv hscripts tmp 分析:在上述命令中,如果tmp目录已经存在,mv命令将移动hscripts文件夹/目录下的所有文件,目录和子目录到tmp目录。 如果没有tmp目录,它将重命名 hscripts目录为tmp目录。 2、移动多个文件/更多问价到另一目录 mv file1.txt tmp/file2.txt newdir 这个命令移动当前目录的file1.txt文件和tmp文件夹/目录的file2.txt文件到newdir目录。 参数: -i:交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答”y”或”n”,这样可以避免误覆盖文件。 -f:禁止交互操作。mv操作要覆盖某个已有的目标文件时不给任何指示,指定此参数后i参数将不再起作用。 5.复制文件或文件夹 cp [options] 来源档(source) 目的檔(destination) 参数: -a :相当于 -pdr 的意思; -d :若来源文件为连结文件的属性(link file),则复制连结文件属性而非档案本身; -f :为强制 (force) 的意思,若有重复或其它疑问时,不会询问使用者,而强制复制; -i :若目的檔(destination)已经存在时,在覆盖时会先询问是否真的动作! -l :进行硬式连结 (hard link) 的连结档建立,而非复制档案本身; -p :连同档案的属性一起复制过去,而非使用预设属性; -r :递归持续复制,用于目录的复制行为; -s :复制成为符号连结文件 (symbolic link),亦即『快捷方式』档案; -u :若 destination 比 source 旧才更新 destination ! 最后需要注意的,如果来源档有两个以上,则最后一个目的文件一定要是『目录』才行! 示例: 1、复制两个文件: cp file1 file2 上述cp命令复制文件file1.php 的内容到文件file2.php中。 2、备份拷贝的文件: cp -b file1.php file2.php 创建文件file1.php的带着符号 ‘~’的备份文件file2.php~。 3、复制文件夹和子文件夹: cp -R scripts scripts1 上面的 cp 命令从 scripts 复制文件夹和子文件夹到 scripts1。 6、创建目录 mkdir 文件名 mkdir /var/www/test ///////////////////////////////////////////////////////////////////////////////////////////// (没有以上目录。。。。。。。。。。。。。。注意大小写) 发现时因为在VMware 虚拟机里面的系统 右上角显示的连接都没有连接上 三种方法解决 Failed to start LSB: Bring up/down networking 问题 《—》 1、执行 service network restart 出现以下错误 Restarting network (via systemctl): Job for network.service failed. See ‘systemctl status network.service’ and ‘journalctl -xn’ for details. 2、根据上面的提示,执行“systemctl status network.service”输出以下的类似信息: [root@localhost ~]# systemctl status network.service network.service - LSB: Bring up/down networking Loaded: loaded (/etc/rc.d/init.d/network) Active: failed (Result: exit-code) since 三 2014-11-05 15:30:10 CST; 1min 5s ago 11月 05 15:30:10 localhost.localdomain network[2920]: RTNETLINK answers: File exists 11月 05 15:30:10 localhost.localdomain network[2920]: RTNETLINK answers: File exists 11月 05 15:30:10 localhost.localdomain network[2920]: RTNETLINK answers: File exists 11月 05 15:30:10 localhost.localdomain network[2920]: RTNETLINK answers: File exists 11月 05 15:30:10 localhost.localdomain network[2920]: RTNETLINK answers: File exists 11月 05 15:30:10 localhost.localdomain network[2920]: RTNETLINK answers: File exists 11月 05 15:30:10 localhost.localdomain network[2920]: RTNETLINK answers: File exists 11月 05 15:30:10 localhost.localdomain systemd[1]: network.service: control process exited, code=exited status=1 11月 05 15:30:10 localhost.localdomain systemd[1]: Failed to start LSB: Bring up/down networking. 11月 05 15:30:10 localhost.localdomain systemd[1]: Unit network.service entered failed state. 3、解决的办法(由于centos7中没有70-persistent-net.rules这个文件,复制出来的虚拟机(vmware)需要修改mac地址),就是修改mac地址。 4、如何查看centos7复制出来的虚拟机的mac地址,需要执行 “ip addr”,输出如下的类似信息: [root@localhost ~]# ip addr 1: lo: link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eno16777736: link/ether 00:0f:19:10:12:f1 brd ff:ff:ff:ff:ff:ff inet 192.168.38.135/24 brd 192.168.38.255 scope global dynamic eno16777736 valid_lft 1681sec preferred_lft 1681sec inet6 fe80::20c:11aa:ae11:4fe4/64 scope link valid_lft forever preferred_lft forever 注意上面加粗加红的字,这就是新的mac地址。 接下来就剩下修改ifcfg-XXX文件了,只修改HWADDR就可以了。接下来执行service network restart 就正常了。 《二》 如果还是启动失败 查看是否有如下错误信息 Nov 23 22:09:07 hdcoe02 network[597]: Bringing up loopback interface: Could not load file ‘/etc/sysconfig/network-scripts/ifcfg-lo’ Nov 23 22:09:07 hdcoe02 network[597]: Could not load file ‘/etc/sysconfig/network-scripts/ifcfg-lo’ Nov 23 22:09:08 hdcoe02 network[597]: Could not load file ‘/etc/sysconfig/network-scripts/ifcfg-lo’ Nov 23 22:09:08 hdcoe02 network[597]: Could not load file ‘/etc/sysconfig/network-scripts/ifcfg-lo’ Nov 23 22:09:08 hdcoe02 network[597]: [ OK ] Nov 23 22:09:08 hdcoe02 network[597]: Bringing up interface enp0s25: Error: Connection activation failed: Connection ‘enp0s25’ is not available on the device enp0s25 at this time. 设定开机启动一个名为NetworkManager-wait-online服务,命令为: systemctl enable NetworkManager-wait-online.service 《三》 我也是上面方法都测试完了 一直不成功,最后发现时因为在VMware 虚拟机里面的系统 右上角显示的连接都没有连接上,虽然报错都一样,最后我在虚拟机设置里面将原来的网络适配器删掉,重新建了一个新的网络适配器,这次进去,显示连接成功,再用上面的方法,问题解决。 top详细解释: top命令作为linux中最常用的命令之一,其作用是分析linux的性能。经常使用这个命令,但是一直没有详细的了解各个参数的含义,下面详细的总结一下top命令各个参数的含义: clipboard 第一行: top - 16:10:53 up 37 days, 20:20, 4 users, load average: 0.00, 0.00, 0.00 16:10:53 当前时间 up 37 days 20:20 系统运行时间,格式为时:分 4 user 当前登录用户数 load average: 0.00, 0.00, 0.00 系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。 ps : 虽然知道load average是系统负载的含义,但是没有明白其含义,google之后找到的参考资料: http://heipark.iteye.com/blog/1340384 需要注意的是,多核cpu需要用这个值除以逻辑核心的数量 第二行:Tasks: 259 total, 2 running, 257 sleeping, 0 stopped, 0 zombie Tasks: 259 total 进程总数 2 running 正在运行的进程数 257 sleeping 睡眠的进程数 0 stopped 停止的进程数 0 zombie 僵尸进程数 第三行:Cpu(s): 0.2%us, 0.6%sy, 0.0%ni, 99.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu(s): 0.2%us 用户空间占用CPU百分比 0.6%sy 内核空间占用CPU百分比 0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比 99.3%id 空闲CPU百分比 0.0%wa 等待输入输出的CPU时间百分比 0.0% hi 硬中断(Hardware IRQ)占用CPU的百分比 0.0% si 软中断(Software Interrupts)占用CPU的百分比 0.0%st 虚拟机偷取时间 ps : 这些参数的具体含义,参考:http://www.cnblogs.com/yjf512/p/3383915.html,看的还不是很懂,不过足够用了。 第四行:Mem: 16143520k total, 15581588k used, 561932k free, 919728k buffers Mem: 16143520k total 物理内存总量 15581588k used 使用的物理内存总量 561932k free 空闲内存总量 919728k buffers 用作内核缓存的内存量 ps: 单位为kb 第五行:Swap: 8011768k total, 58072k used, 7953696k free, 11067628k cached Swap: 8011768k total 交换区总量 58072k used 使用的交换区总量 7953696k free 空闲交换区总量 11067628k cached 缓冲的交换区总量 进程列表: 列名 含义 PID 进程id PPID 父进程id RUSER Real user name UID 进程所有者的用户id USER 进程所有者的用户名 GROUP 进程所有者的组名 TTY 启动进程的终端名。不是从终端启动的进程则显示为 ? PR 优先级 NI nice值。负值表示高优先级,正值表示低优先级 P 最后使用的CPU,仅在多CPU环境下有意义 %CPU 上次更新到现在的CPU时间占用百分比 TIME 进程使用的CPU时间总计,单位秒 TIME+ 进程使用的CPU时间总计,单位1/100秒 %MEM 进程使用的物理内存百分比 VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES SWAP 进程使用的虚拟内存中,被换出的大小,单位kb。 RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA CODE 可执行代码占用的物理内存大小,单位kb DATA 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb SHR 共享内存大小,单位kb nFLT 页面错误次数 nDRT 最后一次写入到现在,被修改过的页面数。 S 进程状态。 D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程 COMMAND 命令名/命令行 WCHAN 若该进程在睡眠,则显示睡眠中的系统函数名 Flags 任务标志,参考 sched.h 命令: - q:退出top命令 - <Space>:立即刷新 - s:设置刷新时间间隔 - c:显示命令完全模式 - t::显示或隐藏进程和CPU状态信息 - m:显示或隐藏内存状态信息 - l:显示或隐藏uptime信息 - f:增加或减少进程显示标志 - S:累计模式,会把已完成或退出的子进程占用的CPU时间累计到父进程的MITE+ - P:按%CPU使用率排行 - T:按MITE+排行 - M:按%MEM排行 - u:指定显示用户进程 - r:修改进程renice值 - kkill:进程 - i:只显示正在运行的进程 - W:保存对top的设置到文件^/.toprc,下次启动将自动调用toprc文件的设置。 - h:帮助命令。 - q:退出 /////////////////////////////////////////////////// ////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////// Linux的常用基本命令。 首先启动Linux。启动完毕后需要进行用户的登录,选择登陆的用户不同自然权限也不一样,其中“系统管理员”拥有最高权限。 在启动Linux后屏幕出现如下界面显示: …… Red Hat Linux release 9 (Shrike) Kernel2.4.20.8 on an i686 login: 输入:root(管理员名)后,计算机显示输口令(password:),输入你的口令即可。当计算机出现一个“#”提示 符时,表明你登录成功! 屏幕显示Linux提示符: [root@localhost root]#_ 这里需要说明的是“Red Hat Linux release 9 (Shrike)”表示当前使用的操作系统的名称及版本。“2.4.20.8”表示Linux操作系统的核 心版本编号。“i686”表示该台电脑使用的CPU的等级。 下面我们来介绍常用基本命令 一,注销,关机,重启 注销系统的logout命令 1,Logout 注销是登陆的相对操作,登陆系统后,若要离开系统,用户只要直接下达logout命令即可: [root@localhost root]#logout Red Hat Linuxrelease 9(Shike) Kernel2.4.20.8 on an i686 Login: ← 回到登陆的画面 2,关机或重新启动的shutdown命令 Shutdown命令可以关闭所有程序,依照用户的需要,重新启动或关机。 参数说明如下: 立即关机:-h 参数让系统立即关机。范例如下: [root@localhost root]#shutdown –h now ← 要求系统立即关机 指定关机时间:time参数可指定关机的时间;或设置多久时间后运行shutdown命令,范例如下: [root@localhost root]#shutdown now ← 立刻关机 [root@localhost root]#shutdown +5 ← 5分钟后关机 [root@localhost root]#shutdown 10:30 ← 在10:30时关机 关机后自动重启:-r 参数设置关机后重新启动。范例如下: [root@localhost root]#shutdown -r now ← 立刻关闭系统并重启 [root@localhost root]#shutdown -r 23:59 ← 指定在23:59时重启动 3,重新启动计算机的reboot命令 顾名思义,reboot命令是用来重新启动系统的。常用的参数如下: -f 参数:不依正常的程序运行关机,直接关闭系统并重新启动计算机。 -I 参数:在在重新启动之前关闭所有网络接口。 虽然reboot命令有个参数可以使用,但是一般只需要单独运行reboot命令就可以了 二,文件与目录的操作 1,列出文件列表的ls命令 ls(list)命令是非常有用的命令,用来显示当前目录中的文件和子目录列表。配合参数的使用,能以不同的方式显示目录内容。范例 如下: 显示当前目录的内容: [tony@free tony]$ ls Desktop mail myinstall.log test.txt ← 有两个目录及两个文件夹 当运行ls命令时,并不会显示名称以“.”开头的文件。因此可加上“-a”参数指定要列出这些文件。范例如下: [tony@free tony]$ ls –a 以“-s”参数显示每个文件所有的空间,并以“-S”参数指定按所有占用空间的大小排序。范例如下: [tony@free tony]$ ls –s –S 总计36 4 Desktop 4 mail 24 myinstall.log 4 test.txt 在ls命令后直接加上欲显示的目录路径,就会列出该目录的内容。范例如下: [tony@free tony]$ ls –l/usr/games 2,切换目录的cd命令 cd(change directory)命令可让用户切当前所在的目录。范例如下: [tony@free home]$ cd tony ← 切换到当前目录下的tony子目录 [tony@free tony]$ cd .. ← 切换到上一层目录 [tony@free home]$ cd / ← 切换到系统根目录 [tony@free /]$ cd ← 切换到用户主目录 [tony@free tony]$ cd /usr/bin ← 切换到/usr/bin目录 3,创建目录的mkdir命令 Mkdir(make directory)命令可用来创建子目录。下面的范例会在所在目录下创建tool子目录。 [tony@free tony]$ mkdir tool 4,删除目录的rmdir命令 rmdir(remove directory)命令可用来删除“空”的子目录。范例如下: [tony@free tony]$ rmdir tool ← 删除tool目录 5,复制文件的cp命令 cp(copy)命令可以将文件从一处复制到另一处。一般在使用cp命令将以个文件复制成另一个文件或复制到某个目录时,需要指定原始文件 名与目的文件名或目录。范例如下: [tony@free tony]$ cp data1.txt data2.txt ← 将data1.txt复制成data2.txt [tony@free tony]$ cp data3.txt /tmp/data ← 将data3复制到/tmp/data目录中 显示复制过程:加入-v参数可显示命令执行过程。范例如下: [tony@free tony]$ cp zip.txt zip2.txt ← 一般状态下不会显示复制过程 [tony@free tony]$ cp –v zip.txt zip3.txt ← 以-v显示复制过程 zip.txt ->zip3.txt 递回复制:加入“-R”参数可同时复制目录下的所有文件及子目录。范例如下: [tony@free tony]$ cp –v –R * backup ← 将所有文件(含子目录文件)复制到backup目录 6,删除文件或目录的rm命令 rm(remove)命令可以删除文件或目录。范例如下: [tony@free tony]$ rm myfile ← 删除指定的文件 [tony@free tony]$ rm * ← 删除当前目录中的所有文件 rm命令的常用参数如下: 强迫删除:使用-f参数时,rm命令会直接删除文件,不再询问。范例如下: [tony@free tony]$ rm –f *.txt ← 强迫删除文件 递回删除:-r 也是一个相当常用的参数,使用此参数可同时删除指定目录下的所有文件及子目录。范例如下: [tony@free tony]$ rm –r data ← 删除data目录(含data目录下所有文件和子目录) [tony@free tony]$ rm –r * ← 删除所有文件(含当前目录所有文件,所有子目录和子目录下的文件) 强制删除指定目录:当使用-r参数删除目录时,若该目录下有许多子目录及文件,则系统会不间断地询问,以确认您的确要删除 目录或文件。若已确定要删除所存目录及文件,则可以使用-rf参数,如此一来,系统将直接删除该目录中所有的文件及子目录,不再询问。范 例如下: [tony@free tony]$ rm –rf tmp 强制删除tmp目录及该目录下所有文件及子目录 显示删除过程:使用-v 参数。范例如下: [tony@free tony]$ rm –v 7,让显示画面暂停的more命令 为了避免画面显示瞬间就闪过去,用户可以使用more命令,让画面在显示满一页时暂停,此时可按空格键继续显示下一个画面,或按Q键停 止显示。 当使用ls命令查看文件列表时,若文件太多则可以配合more命令使用。范例如下: [tony@free bin]$ ls –al more 单独使用more命令时,可用来显示文字文件的内容。范例如下: [tony@free tony]$ more data.txt 8,连接文件的cat命令 cat(concatenate) 命令可以显示文件的内容(经常和more命令搭配使用),或是将数个文件合并成一个文件。范例如下: 逐页显示 preface.txt的内容: [tony@free tony]$ cat preface.txt more 将preface.txt 附加到outline.txt文件之后: [tony@free tony]$ cat preface.txt >> outline.txt 将new.txt和info.txt合并成readme.txt文件: [tony@free tony]$ cat new.txt info.txt >readme.txt 9,移动或更换文件,目录名称的mv命令 mv (move)命令可以将文件及目录移动到另一个目录下面,或更换文件及目录的名称。范例如下: [tony@free backup]$ mv a.txt .. ← 将a.txt文件移到上层目录 [tony@free backup]$ mv z1.txt z3.txt ← 将 z1.txt改名成z3.txt [tony@free backup]$ cd.. ← 切换到上一层目录 [tony@free tony]$ mv backup.. ← backup 目录上移一层 10,显示当前所在目录的pwd命令 pwd(print working directory)命令可显示用户当前所在的目录。范例如下: [tony@free tony]$ pwd /home/tony ← 当前所在目录为“/home/tony” 11,查找文件的locate命令 locate 命令可用来搜索包含指定条件字符串的文件或目录。范例如下: [tony@free tony]$ locate zh_CN 列出所有包含“zh_CN”字符串的文件和目录。 由于locate命令是从系统中保存文件及目录名称的数据库中搜索文件,虽然系统会定时更新数据库,但对于刚新增或删除的文件、目录, 仍然可能会因为数据库尚未更新而无法查得,此时可用root身份运行updatedb命令更新,为此数据库得内容正确。 12,搜索字符串得grep命令 grep 命令可以搜索特定字符串来并显示出来,一般用来过滤先前得结果,避免显示太多不必要得信息。范例如下: [tony@free etc]$ grep text *.conf ← 搜索当前目录中扩展名为.conf且包含“text”字符串得文件。 grep:amd.conf: ← 拒绝不符权限得操作 grep:diskcheck.conf: ← 拒绝不符权限得操作 grep:grub.conf ← 拒绝不符权限得操作 若您是使用一般权限的用户运行,上例的输出结果会包含很多如“拒绝不符权限的操作之类的错误信息,可使用-s参数消除。 [tony@free etc]$ grep –s text *.conf 13,重导与管道 重导(redirect)可将某命令的结果输出导文件中,它有两中命令:“>”和“>>”。“>”可将结果输出到文件中,该文件原有的内容会被 删除:“>>”则将结果附加到文件中,原文件内容不会被清除。范例如下: [tony@free tony]$ ls –a>dir.txt ← 将ls –a命令执行结果输出到dir.txt文件。 [tony@free tony]$ cat data1.txt >> data2.txt ← 将 data1.txt 内容附加到data2.txt文件之后。 通道(pipe)命令的符号是“ ”,可将某命令的结果输出给另一命令,一下范例将ls命令的输出结果传给grep命令过滤: [tony@free etc]$ ls gerp conf ← 搜索并显示ls命令运行结果中包含有“conf”字符串 在举一个删除文件或目录的例子,可以利用yes命令重复输出“y”字符的特性,将结果传给rm命令,如此即可避免重复输入“y”: [tony@free tony]$ yes rm –r mydir 三,使用光盘及软盘 在Linux的文字模式下要使用光盘或软盘,并不是只将光盘或软盘放入即可,用户需要运行加载的命令,才可读写数据。所谓加载就是将存 储介质(如光盘和软盘)指定成系统中的某个目录(如/mnt/cdrom或mnt/floppy)。通过直接存取此加载目录,即可读写存储介质中的数据。 以下就来看看文字模式下的加载及卸载命令。 1,加载的mount命令 要使用光盘时先把光盘放入光驱,然后执行加载的mount命令,将光盘加载至系统中: [tony@free tony]# mount/dev/cdrom/mut/cdrom ← 加载光盘 同理,使用软盘之前也需要和光盘一样,必须先加载后才能使用: [tony@free tony]# mount/dev/fd0/mut/floppy ← 加载软盘 2,卸载的umount命令 如果不需要使用光盘或软盘,则需先执行卸载命令之后,才能将光盘或软盘退出。范例如下: [tony@free tony]# umount / mnt/cdrom ← 光盘卸载 在不使用软盘时执行umount 命令卸载软盘,再将软盘拿出 [tony@free tony]# umount / mnt/ ← 软盘卸载 四,在后台运行程序 用户有时的程序有可能要花费很多时间,如果将它放在前台运行,将导致无法继续做其他事情,最好的方法就是将它放在后台运行,甚至 可能希望在用户注销系统后,程序还可以继续运行。让我们看看那如何实现这一目的。 1,在后台运行程序的&、bg命令 将程序放到后台运行的最简单方法就是在命令最后加上“&”,范例如下: [tony@free root]# updatedb & ← 在后台执行 locate 数据库更新命令 [tony@free root]# bg ← 将更新操作放到后台运行 2,前台运行的程序fg命令 如果用户当前已有程序在后台运行,可以输入fg命令,将它从背景中移到前台运行: [tony@free root]# fg ← 放到前台执行的命令会显示出来 3,在退出后让程序继续运行的nohup命令 此命令可使用户退出系统后,程序继续运行。范例如下: [tony@free rony]$ nohup myserver & 然后用户就可以退出了,当再次登录的时候,可以用ps –aux命令看到程序仍在后台中运行。 五,任务调度命令 计算机有很多程序需要周期性的被运用,例如清理磁盘中不要的暂存盘、备份系统数据、检查远程服务器的邮件等。对于这些重复性的工 作,其实不需要每次都辛苦地运行这些程序。可利用任务调度命令,指定系统定期在某个时间运行这些程序,轻轻松松完成想要执行的工作。 任务调度的crond常驻命令 crond 是Linux用来定期执行程序的命令。当安装完成操作系统后,默认便会启动此任务调动命令。crond命令每分钟会定期检查是否有要 执行的工作,如果有要执行的工作,便会自动执行该工作。由于任务调度中间的操作过程十分繁杂,我们只将任务调度文件的写法介绍给大家 ,供大家参阅: Minute Hour Day Month DayOfWeek Command 在这段文字中除了“Command”是每次都必须指定的字段以外,其他自动皆可视需求自行决定是否指定。 六,任务调度的系统工作 /ect/crontab/文件是Linux系统工程的任务调度设置文件,其默认的内容如下: SHELL=/bin/bash ← 指定执行任务调度工作时所使用的SHELL PATH=/shin:/bin:/usr/sbin:/usr/bin ← 指定命令搜索的路径 MAILTO=root ← 指定将输出结果给root用户 HOME=/ ← 指定跟目录 七,任务调度的个人工作 除了上述任务调度的系统工作外,一般用户则可利用crintab命令,自行设置要定期执行的工作。 每个用户可执行crontab –e命令,编辑自己的任务调度设置文件,并在此文件加入要定期执行的工作。以下范例为tony用户编辑的任务调 度设置文件: [tony@free rony]$ crontab –e 执行上述命令后,即会进入VI文本编辑器自行编辑任务调度的工作。 八,删除调度工作任务 如果不想再定期执行任务调动中的工作,则可执行crontab –r命令删除所有任务调度的工作。范例如下: [tony@free rony]$ crontab –r ← 删除任务调度中的工作 [tony@free rony]$ crontab -1 ← 再查看一次任务调度中的工作 no crontab for tony ← 已经没有任何任务调度工作 九,打包、压缩与解压缩 由于这是每一个Linux用户都会经常用到的基本功能,因此我们将介绍最常见到的打包、压缩和解压缩程序。 1,打包文件的tar命令 tar命令位于/bin目录中,它能将用户所指定的文件或目录打包成一个文件,不过它并不做压缩。一般Unix上常用的压缩方式是先用tar命 令将许多文件打包成一个文件,再以gzip等压缩命令压缩文件。tar命令参数繁多,以下举例常用参数作说明: -c:创建一个新的tar文件; -v:显示运作过程信息; -f:在:指定文件名称; -z:调用gzip压缩命令执行压缩; -j:调用bzip2压缩命令执行压缩; -t:参看压缩文件内容; -x:解开tar文件。 在此举一常用范例: [tony@free data]# tar cvf data.tar * ← 将目录下所有文件打包成data.tar [tony@free data]# tar cvf data.tar.gz * ← 将目录所有文件打包成data.tar再用gzip命令压缩 [tony@free data]# tar tvf data.tar * ← 查看data.tar文件中包括了哪些文件 [tony@free data]# tar xvf data.tar * ← 将data.tar解开 2,压缩与解压缩 tar命令本身没有压缩能力,但是可以在产生的tar文件后,立即使用其他压缩命令来压缩,省区需要输入两次命令的麻烦。 使用-z参数来解开最常见的.tar.gz文件: [tony@free data]# tar –zxvf foo.tar.gz ←将文件解开至当前目录下 使用-j参数解开tar.bz2压缩文件: [tony@free data]# tar –jxvf linux-2.4.20tar.bz2 ←将文件解开至当前目录下 使用-Z参数指定以compress命令压缩 [tony@free data]# tar –cZvf prcture.tar.Z*.tif 将该目录下所有.tif打包并命令压缩成.tar.Z文件 十,其他常用命令 Linux可用的命令相当多,本章我们只举例几个常用的命令进行说明,在以后的章节中,还会接触到许多其他命令。 1,修改密码的passwd命令 passwd(password)命令可让用户变更密码。范例如下: [tony@free tony]$ passwd Changing password for user tony Changing password for tony (current)UNIX password: ← 输入原密码 New password: ← 输入新密码 Retype new password ← 在此输入新密码 passwd: all authentication tokens updated successfully ← 密码修改成功 2,创建引导盘的mkbootdisk命令 如果安装系统时,并没有制作引导盘,或者引导盘已经损害,可以在安装系统之后,利用mkbootdisk命令创建一张新的引导盘: [root@free root]# mkbootdisk ‘uname -r’ 执行上述指令便可以成功的创建一张引导盘了。请保存好出盘,已备紧急之用。 3,显示与设置时间的date、clock和ntpdate命令 date 命令可以显示当前日期时间。范例如下: [tony@free rony]$ date -9月 8 10:00:00 CST 2006 CST为中部标准时间 clock命令也可以显示出系统当前的日期与时间,不过clock命令默认不允许一般用户执行,请用root账号执行: [root@free root]# clock 公元2006年9月8日(周五)10时00分00秒 0.112604 seconds 如果系统时间不正确要想更改,可以使用date命令来设置时间。用root账号如下操作: [root@free root]# date 09091200 ← 将时间设定为9月9日12点00分 用户有时可能会苦于不知道标准时间。没关系,当前网络上也有校对时服务器提供的标准时间。因此可执行ntpdate命令,将系统时间设成 与校时服务器一致: [root@free root]# ntpdate stdtime.microsoft.com ← 与微软校时服务器校时。 然后再执行一次date命令,就会发现系统时间已经更改。不过这样还没有结束,还需要执行clock –w 命令将更改的时间写入计算机的 CMOS中,这样下次启动时才会使用更改过的时间。 范例如下: [root@free root]# clock –w 常用的基本命令我们就先介绍到这里,现在我们来讲些新手在使用过程中遇到的一些疑难问题的解决方法以及在操作过程中的一些应用技 巧。 一,如何进入文字模式 当安装Linux时,可选择自动后要进入文字模式或时图形模式。如果选择的时文字模式则可略过此说明;若是直接进入X Window的图形模式 ,仍可以使用下列方式,进入文字模式: 1,在X Window中打开文字模式窗口 在默认的GNOME窗口环境为例,在X Windows 下进入文字模式最简单的方式,就是在桌面空白处单击鼠标右键,执行“新增终端命令”,打 开文字模式窗口。在文字模式窗口中可以用 Shift+Page Up和Shift+Page Dwon 键来卷动窗口内容。 2,切换虚拟主控制台进入文字模式 Linux主机在主控制台(console)下提供了7个虚拟主控台,在每一个虚拟主控台中可以运行各自的程序。可以在登陆X Window系统后的任何时间,按下Ctrl+Alt+Fn键来切换到其他的虚拟主控台。其中的Fn是指F1~F7的功能键。 3,启动直接进入文字模式 要设置启动时直接进入文字模式,可以使用任何一个文本编辑器,打开/etc/inittab文件,在文件中查找“id:5:initdefault:”这一段文字,并将其改为“id:3:initdefault:”即可。 二,/etc/inittab设置错误,导致无法启动 若修改/etc/inittab后无法正常启动,则可以在启动时采用单人模式进入系统,重新修改inittab设置文件以解决问题。 若使用GRUB为引导装载程序时,只要在启动显示菜单画面时,按a键,并在命令行输入一下参数以进入单人模式: grub append > ro root=LABEL=/s ← 只要在命令行原来的语句后,加“S”即可 使用LILO为引导装载程序时,同样在启动显示LILO菜单画面时,按Ctrl+X键,切换到文字模式的LILO登录画面,并输入以下参数即可: boot: linux s ← 表示系统直接讲进入单人模式 三,如何查询命令的用法 在linux系统中,如果用户某命令的功能不大清楚,可以使用man命令查询帮助: [root@free root]# man shutdown ← 以man命令查询稍后要介绍的shutdown命令的用法。 大多数命令的语法,还可以通过-h或—help参数查询。例如shutdown命令的语法可以运行shutdown –h或上述的man shutdown 命令查得。 四,避免按Ctrl+Alt+Del重新启动系统 在linux中直接按下Ctrl+Alt+Del三个键后就会重新启动,如果不希望任何人利用这组组合键随意重新启动计算机,请用文本编辑器修 改/etc/inittab文件: #ca::ctrlaltdel:/sbin/shut down –t3 –r now ← 在此之前加上“#”。 存盘后重新启动计算,以后就无法用Ctrl+Alt+Del 键重新启动了。 五,文字模式下的中文信息出现乱码,怎么办 在此版的Red Hat Linux中,若是在X Window打开文字模式窗口,以文字模式操作,则所有中文文件名、月份,甚至部分信息都可以正常的 以中文显示。但在文字模式的虚拟控制台中,这些中文信息,则会变成乱码,此时请如下操作,可将此信息改成英文显示: [root@free root]$ LANG=C [root@free root]# ls –l 运行LANG=C命令后原来以中文显示(乱码)的部分,变成英文了 若想改回原来的设置,则只要再执行LANG=zh_CN命令即可: [root@free root]$ LANG=zh_CN 六,看不到中文文件名 如果加载的存储介质中含有中文文件名,需要再运行mount命令,再加上“-o iocharset=cp950”参数,这样才能看到此保存媒体内的中 文文件名。例如加载光盘就可以执行以下命令: [root@free root]# mount –o iochatset=cp950/dev/cdrom/mnt/cdrom 七,如何调换光盘 当光盘已经被加载成为一个目录时,按下光驱上面的退出按钮,将无法退出光盘,必须先将光盘卸载后,才能退出光盘。 若当前所在之处就是光盘加载目录(如/mnt/cdrom),或有其他用户正在此目录下,将无法成功的卸载它,当然也不能退出光盘: [root@free root]# umount/mnt/cdrom umount:/mnt/cdrom: device is busy ← 此光盘正在被使用中 先将工作目录切换到别处,或要求其他用户离开此目录,才可卸载目录并退出光盘。而更换关盘之后,记得要将光盘再次加载才能使用。 八,允许一般用户加载光盘或软盘 Linux 操作系统默认只允许root用户才能运行mount命令,若是一般用户执行上述命令,则会出现以下的错误信息: [root@free root]# mount/dev/cdrom/mut/cdrom mount:only root can do that ← 只有root用户才能执行此命令 因此若要允许一般用户也能加载光盘或软盘,请修改/ect/fstab/设置文件: /dev/cdrom/mut/cdrom udf,iso9660 noauto,owner,kudzu,ro,user ← 若要让一般用户也加载光盘,请在此处加上“,user”项目。 、/////////////////////////////////////////////////////////////////////// fdisk -l显示信息详解 [root@www.linuxidc.com ~]# fdisk -l Disk /dev/sda: 10.7 GB, 10737418240 bytes 255 heads, 63 sectors/track, 1305 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00044938 Device Boot Start End Blocks Id System /dev/sda1 * 1 638 5120000 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 638 893 2048000 83 Linux Partition 2 does not end on cylinder boundary. /dev/sda3 893 1020 1024000 82 Linux swap / Solaris Partition 3 does not end on cylinder boundary. /dev/sda4 1020 1306 2292736 5 Extended /dev/sda5 1021 1306 2291712 83 Linux 解析: Disk /dev/sda: 10.7 GB, 10737418240 bytes 块设备名称为/dev/sda,此设备的大小为10.7GB,这个数字不是特别精确,我系统是10GB;10737418240 bytes这是转换成字节后的大小,即:10737418240/1024/1024/1024=10GB (注:bytes=B,表示“字节”,bit=b,表示“位”) 255 heads, 63 sectors/track, 1305 cylinders 255 heads:表示磁头数为255 63 sectors/track:表示每磁道上有63个扇区 1305 cylinders:表示共有1305个柱面,柱面是分区的最小单位 Units = cylinders of 16065 * 512 = 8225280 bytes 16065=255*63 因为每一个磁头都是在同一个柱面的,63表示每个磁道上的扇区数量,这两个数的乘积表示一个柱面上的扇区数量;所以16065*512表示一个柱面的大小是8225280字节 Sector size (logical/physical): 512 bytes / 512 bytes 表示一个扇区的大小是512字节 总结:所以一个磁盘的大小=一个柱面大小柱面的总数=磁头数量每个磁道上的扇区数一个扇区大小柱面总数 即:磁盘大小=8225280*1305=10733990400bytes=9.99GB=255*63*512*1305 上例中显示出我们的磁盘只有1305个柱面,但下边的分区信息中出现了1306个柱面数,不必太在意,linux显示的这些数据不会十分精确。 相关阅读: Linux使用fdisk进行磁盘管理 http://www.linuxidc.com/Linux/2013-06/85714.htm Linux dd命令详解 and 用dd来测试磁盘的读写能力 http://www.linuxidc.com/Linux/2013-04/82539.htm ///////////////////////////////////////////////////////// Alias 来自 ChinaUnix Wiki Linux命令:alias 功能说明:设置指令的别名。 语 法:alias[别名]=[指令名称] 补充说明:用户可利用alias,自定指令的别名。若仅输入alias,则可列出目前所有的别名设置。 alias的效力仅及于该次登入的操作。若要每次登入是即自动设好别名,可在.profile 或.cshrc中设定指令的别名。 (/home/username/..cshrc) 参 数:若不加任何参数,则列出目前所有的别名设置。 例 子: 设置别名 alias ll =’ls -l’ 驱动模块设置,在/etc/modprobe.conf(modules.conf) alias eth0 tg3 alias eth1 bcm5700 alias eth2 off 删掉eth2模块 偶用到的命令: alias date=’date +”%Y-%m-%d %H:%M:%S”’ 顺便附上date命令: date //显示当前日期 date -s //设置当前时间,只有root权限才能设置,其他只能查看。 [root@localhost ~]# date -s 101012 //设置日期为20101012 Tue Oct 12 00:00:00 CST 2010 [root@localhost ~]# date -s 09:01:30 //设置时间为09:01:30 Tue Oct 12 09:01:30 CST 2010 CST:中国标准时间(China Standard Time),这个解释可能是针对RedHat Linux。 UTC:协调世界时,又称世界标准时间,简称UTC,从英文国际时间/法文协调时间”Universal Time/Temps Cordonné”而来。中国大陆、香港、澳门、台湾、蒙古国、新加坡、马来西亚、菲律宾、澳洲西部的时间与UTC的时差均为+8,也就是UTC+8。 GMT:格林尼治标准时间(旧译格林威治平均时间或格林威治标准时间;英语:Greenwich Mean Time,GMT)是指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。 设置完系统时间后,还需要同步到硬件时钟上 clock –systohc 硬件时钟与系统时钟同步: hwclock –hctosys 或者 clock –hctosys 上面命令中,–hctosys表示Hardware Clock to SYStem clock。 系统时钟和硬件时钟同步: hwclock –systohc 或者 clock –systohc ////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////// 使用linux的同学对service和chkconfig两个命令都不陌生,其重要性不言而喻,那么怎么会突然冒出个systemctl命令呢?其实,为了简化操作,systemctl命令将service和chkconfig命令结合在了一起。这样通过一个命令就可以实现两个命令的功能。 工具/原料 centos7 我们对service和chkconfig两个命令都不陌生,systemctl 是管制服务的主要工具, 它整合了chkconfig 与 service功能于一体。 systemctl is-enabled iptables.service systemctl is-enabled servicename.service #查询服务是否开机启动 systemctl enable *.service #开机运行服务 systemctl disable *.service #取消开机运行 systemctl start *.service #启动服务 systemctl stop *.service #停止服务 systemctl restart *.service #重启服务 systemctl reload *.service #重新加载服务配置文件 systemctl status *.service #查询服务运行状态 systemctl –failed #显示启动失败的服务 systemctl list-units –type=service#显示所有已启动的服务 chkconfig --list 注:*代表某个服务的名字,如http的服务名为httpd 例如在CentOS 7 上安装http [root@CentOS7 ~]# yum -y install httpd 启动服务(等同于service httpd start) systemctl start httpd.service 停止服务(等同于service httpd stop) systemctl stop httpd.service 重启服务(等同于service httpd restart) systemctl restart httpd.service 查看服务是否运行(等同于service httpd status) systemctl status httpd.service 开机自启动服务(等同于chkconfig httpd on) systemctl enable httpd.service 开机时禁用服务(等同于chkconfig httpd on) systemctl disable httpd.service 查看服务是否开机启动 (等同于chkconfig –list) 总结: 使用systemctl命令,要记住start,stop,restart,status,enable,disable,is-enabled。就可以很好的使用! start,启动 stop,停止 restart,重启 systemctl reload *.service #重新加载服务配置文件 status,状态 enable,开机启动 disable,#取消开机运行 任务 旧指令 新指令 使某服务自动启动 chkconfig –level 3 httpd on systemctl enable httpd.service 使某服务不自动启动 chkconfig –level 3 httpd off systemctl disable httpd.service 检查服务状态 service httpd status systemctl status httpd.service (服务详细信息) systemctl is-active httpd.service (仅显示是否 Active) 显示所有已启动的服务 chkconfig –list systemctl list-units –type=service 启动某服务 service httpd start systemctl start httpd.service 停止某服务 service httpd stop systemctl stop httpd.service 重启某服务 service httpd restart systemctl restart httpd.service is-enabled#查询服务是否开机启动 systemctl –failed #显示启动失败的服务 /、/////////////////////////////////// ////////////////////////////////////////////////////////// ss命令用于显示socket状态. 他可以显示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix domain sockets等等统计. 它比其他工具展示等多tcp和state信息. 它是一个非常实用、快速、有效的跟踪IP连接和sockets的新工具.SS命令可以提供如下信息: 所有的TCP sockets 所有的UDP sockets 所有ssh/ftp/ttp/https持久连接 所有连接到Xserver的本地进程 使用state(例如:connected, synchronized, SYN-RECV, SYN-SENT,TIME-WAIT)、地址、端口过滤 所有的state FIN-WAIT-1 tcpsocket连接以及更多 很多流行的Linux发行版都支持ss以及很多监控工具使用ss命令.熟悉这个工具有助于您更好的发现与解决系统性能问题.本人强烈建议使用ss命令替代netstat部分命令,例如netsat -ant/lnt等. 展示他之前来做个对比,统计服务器并发连接数 netstat time netstat -ant | grep EST | wc -l 3100 real 0m12.960s user 0m0.334s sys 0m12.561s time ss -o state established | wc -l 3204 real 0m0.030s user 0m0.005s sys 0m0.026s 结果很明显ss统计并发连接数效率完败netstat,在ss能搞定的情况下, 你还会在选择netstat吗, 还在犹豫吗, 看以下例子,或者跳转到帮助页面. 常用ss命令: ss -l 显示本地打开的所有端口 ss -pl 显示每个进程具体打开的socket ss -t -a 显示所有tcp socket ss -u -a 显示所有的UDP Socekt ss -o state established ‘( dport = :smtp or sport = :smtp )’ 显示所有已建立的SMTP连接 ss -o state established ‘( dport = :http or sport = :http )’ 显示所有已建立的HTTP连接 ss -x src /tmp/.X11-unix/* 找出所有连接X服务器的进程 ss -s 列出当前socket详细信息: 显示sockets简要信息 列出当前已经连接,关闭,等待的tcp连接 ss -s Total: 3519 (kernel 3691) TCP: 26557 (estab 3163, closed 23182, orphaned 194, synrecv 0, timewait 23182/0), ports 1452 Transport Total IP IPv6 * 3691 - - RAW 2 2 0 UDP 10 7 3 TCP 3375 3368 7 INET 3387 3377 10 FRAG 0 0 0 列出当前监听端口 ss -l Recv-Q Send-Q Local Address:Port Peer Address:Port 0 10 :::5989 :::* 0 5 :rsync :* 0 128 :::sunrpc :::* 0 128 :sunrpc :* 0 511 :http :* 0 128 :::ssh :::* 0 128 :ssh :* 0 128 :::35766 :::* 0 128 127.0.0.1:ipp : 0 128 ::1:ipp :::* 0 100 ::1:smtp :::* 0 100 127.0.0.1:smtp : 0 511 :https :* 0 100 :::1311 :::* 0 5 :5666 :* 0 128 :3044 :* ss列出每个进程名及其监听的端口 ss -pl ss列所有的tcp sockets ss -t -a ss列出所有udp sockets ss -u -a ss列出所有http连接中的连接 ss -o state established ‘( dport = :http or sport = :http )’ ·以上包含对外提供的80,以及访问外部的80 ·用以上命令完美的替代netstat获取http并发连接数,监控中常用到 ss列出本地哪个进程连接到x server ss -x src /tmp/.X11-unix/* ss列出处在FIN-WAIT-1状态的http、https连接 ss -o state fin-wait-1 ‘( sport = :http or sport = :https )’ ss常用的state状态: established syn-sent syn-recv fin-wait-1 fin-wait-2 time-wait closed close-wait last-ack listen closing all : All of the above states connected : All the states except for listen and closed synchronized : All the connected states except for syn-sent bucket : Show states, which are maintained as minisockets, i.e. time-wait and syn-recv. big : Opposite to bucket state. ss使用IP地址筛选 ss src ADDRESS_PATTERN src:表示来源 ADDRESS_PATTERN:表示地址规则 如下: ss src 120.33.31.1 # 列出来之20.33.31.1的连接 # 列出来至120.33.31.1,80端口的连接 ss src 120.33.31.1:http ss src 120.33.31.1:80 ss使用端口筛选 ss dport OP PORT OP:是运算符 PORT:表示端口 dport:表示过滤目标端口、相反的有sport OP运算符如下: <= or le : 小于等于 >= or ge : 大于等于 == or eq : 等于 != or ne : 不等于端口 < or lt : 小于这个端口 > or gt : 大于端口 OP实例 ss sport = :http 也可以是 ss sport = :80 ss dport = :http ss dport > :1024 ss sport > :1024 ss sport \< :32000 ss sport eq :22 ss dport != :22 ss state connected sport = :http ss ( sport = :http or sport = :https ) ss -o state fin-wait-1 ( sport = :http or sport = :https ) dst 192.168.1/24 为什么ss比netstat快: netstat是遍历/proc下面每个PID目录,ss直接读/proc/net下面的统计信息。所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多 ss命令帮助 ss -h Usage: ss [ OPTIONS ] ss [ OPTIONS ] [ FILTER ] -h, –help this message -V, –version output version information -n, –numeric don’t resolve service names -r, –resolve resolve host names -a, –all display all sockets -l, –listening display listening sockets -o, –options show timer information -e, –extended show detailed socket information -m, –memory show socket memory usage -p, –processes show process using socket -i, –info show internal TCP information -s, –summary show socket usage summary -4, –ipv4 display only IP version 4 sockets -6, –ipv6 display only IP version 6 sockets -0, –packet display PACKET sockets -t, –tcp display only TCP sockets -u, –udp display only UDP sockets -d, –dccp display only DCCP sockets -w, –raw display only RAW sockets -x, –unix display only Unix domain sockets -f, –family=FAMILY display sockets of type FAMILY -A, –query=QUERY, –socket=QUERY QUERY := {all|inet|tcp|udp|raw|unix|packet|netlink}[,QUERY] -D, –diag=FILE Dump raw information about TCP sockets to FILE -F, –filter=FILE read filter information from FILE FILTER := [ state TCP-STATE ] [ EXPRESSION ] 参考:http://www.cyberciti.biz/tips/linux-investigate-sockets-network-connections.html //////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////// RHEL 7 & CentOS 7禁用IPV6 标签: RHEL 7CentOS 7IPV6 2014-11-24 08:53 12297人阅读 评论(1) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许不得转载。 RHEL 7 & CentOS 7下禁用IPV6的方法和之前的版本不太一样了,本文整理了一下处理方法:本文原文出处:http://blog.csdn.net/bluishglc/article/details/41390785 严禁任何形式的转载,否则将委托CSDN官方维护权益! 首先,我们必须给出最根本的解决方法:修改grub,在引导时就不加载IPV6模块 这样修改之后,使用 lsmod | grep ipv6 进行验证! 下面我们再看一种处理方式,它不如上面提到的方式彻底,但也是有效的! 验证IPV6是否关闭 1. 通过命令: Check to see if you’re installation is currently set up for IPv6: cat /proc/sys/net/ipv6/conf/all/disable_ipv6 If the output is 0, IPv6 is enabled. If the output is 1, IPv6 is already disabled. 需要特别说明的是:在这种方法下,使用# lsmod | grep ipv6依然会有一些相关模块列出。 1. 通过ifconfig查看网卡信息,以下打开和关闭ipv6的差别: 禁用IPV6的操作步骤 Step 1: add this rule in /etc/sysctl.conf : net.ipv6.conf.all.disable_ipv6=1 Step 2: add this rule in /etc/sysconfig/network: NETWORKING_IPV6=no Step 3: add this setting for each nic X (X is the corresponding number for each nic) in /etc/sysconfig/network-scripts/ifcfg-ethX: IPV6INIT=no Step 4: disable the ip6tables service : chkconfig ip6tables off Step 5: Reload the sysctl configuration: sysctl -p or reboot 注意:禁用IPV6后,可能会导致某些服务无法启动,比如VSFTP,对于VSFTP,需要修改/etc/vsftpd/vsftpd.conf文件中的listen和listen_ipv6两个选项: listen=YES listen_ipv6=NO 、、、、、、////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// Centos7 关闭防火墙 CentOS 7.0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下 1、直接关闭防火墙 systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 2、加载中… 首 页 阅览室 馆友 我的图书馆 登录注册 搜文章 找馆友 centos7防火墙配置 收藏人:binke 2015-03-24 | 阅:4027 转:30 | 来源 | 分享 centos7防火墙配置 CentOS7使用的是Linux Kernel 3.10.0的内核版本,新版的Kernel内核已经有了防火墙netfilter,并且firewalld的使用效能更高,稳定性更好。 CentOS7配置防火墙的两种方法: 一、使用xml配置文件的方式配置; systemctl start firewalld.service 方法一 cp /usr/lib/firewalld/services/http.xml /etc/firewalld/services/ firewall-cmd –reload 二、使用命令的方式配置; 方法二 Add firewall-cmd –permanent –zone=public –add-port=80/tcp Remove firewall-cmd –permanent –zone=public –remove-port=80/tcp Reload firewall-cmd –reload 其中,方法二的配置方式是间接修改/etc/firewalld/zones/public.xml文件,方案一也需要在public.xml里面新增,否则http的防火墙规则不会生效,而且两种配置方式都需要重新载入防火墙。 附: 查看防火墙状态 systemctl status firewalld.service 启动防火墙 systemctl start firewalld.service 关闭防火墙 systemctl stop firewalld.service 重新启动防火墙 使用旧防火墙 3.设置 iptables service yum -y install iptables-services 如果要修改防火墙配置,如增加防火墙端口3306 vi /etc/sysconfig/iptables 增加规则 -A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT 保存退出后 systemctl restart iptables.service #重启防火墙使配置生效 systemctl enable iptables.service #设置防火墙开机启动 最后重启系统使设置生效即可。 (责任编辑:IT) |