常用Linux命令收集整理

  关机:poweroff 或 shutdown -h now 或 init 0

  重启:reboot 或 shutdown -r now 或 init 6

  关闭x-window:init 3

  启动x-window:init 5 或 start x

  查看ip地址:ifconfig

  linux内核版本:uname -r

  基础命令

  1、查看某端口号,命令:netstat -pan|grep 80

  2、查看linux版本是centos还是redhat,命令:cat /etc/redhat-release

  3、zip进行文件夹压缩命令:zip -r 压缩最终文件名.zip 要压缩的文件夹名

  防火墙

  1、启动防火墙,命令:service iptables start 或者 /etc/init.d/iptables start

  2、关闭防火墙,命令:service iptables stop 或者 /etc/init.d/iptables stop

  3、重启防火墙,命令:service iptables restart 或者 /etc/init.d/iptables restart

  tomcat

  1、启动tomcat,进入tomcat安装目录下的bin目录执行 ./startup.sh

  2、停止tomcat,进入tomcat安装目录下的bin目录执行 ./shutdown.sh

  3、删除日志命令,进入tomcat安装目录下的logs目录执行 rm -rf *.*

  1.终止命令:ctrl+c

  2.结束输入:ctrl+d

  3.查看文件系统:df -h Linux如何查看文件系统(磁盘使用情况)

  4.LAMP系列:

  重启MySQL:/etc/init.d/mysqld restart

  重启Apache: /etc/init.d/httpd start

  Apache的配置文件路径:/etc/httpd/conf/httpd.conf

  php配置文件路径:/etc/php.ini

  重启网络服务:service network restart

  修改网站目录权限:

  chmod -R 777 ./ecshop

  chown apache:apache ./ecshop

  bin 基本命令

  boot 引导程序文件,LINUX内核

  dev 设备文件

  etc 系统配置文件

  home 用户主目录

  initrd 初始RAM磁盘引导支持(在引导期间使用)

  lib 共享库,内核模块

  lost+found 存放恢复后的文件(如果在进行文件系统检查之后发现了这类文件)

  media 可移除介质(比如DVD和软盘)的挂载点

  mnt 通常作为本地文件系统、远程文件系统的挂载点

  opt 另外添加的软件包

  PRoc 内核信息,进程控制

  root 超级用户(ROOT用户)的主目录

  sbin 系统命令(多数只能由ROOT用户使用)

  srv 保存系统服务的数据,系统服务的部分数据当前是存储在var中的

  sys 与内核使用的设备相关的实时信息

  tftpboot 网络引导支持

  tmp 临时文件

  usr 第二个主要的软件文件层次结构

  var 可变数据(比如日志);缓冲的(spooled)文件

  #hostname 查看计算机名

  #dmidecodegrep Manufacturer 查看服务器生产商

  #dmidecodegrep Product Name 查看服务器型号

  #grep model name proccpuinfo 查看CPU信息

  #getconf LONG_BIT 查看CPU是32位还是64位

  #cat proccpuinfogrep physical idsortuniqwc -l 查看物理CPU的个数

  #cat proccpuinfogrep cpu coresuniq 查看每个物理CPU中的CORE的个数(即核数)

  #cat proccpuinfogrep processerwc -l 查看逻辑CPU的个数,如果其值不等于(CPU个数×核数),表示支持超线程。

  #dmidecode -t memory 查看内存详细信息

  #cat procmeminfo 查看内存信息

  #swapon -s 查看所有交换分区

  #free -m 查看内存总数、已使用数、空闲数、多进程共享的内存总数、已用内存总数、可用内存总数、交换分区。

  注:-+bufferscache等于used-buffers-cachedfree+buffers+cached。如果交换分区使用过多,表示需要增加物理内存。

  #dmesg grep 'Vendor' 查看硬盘、光驱等信息

  #hdparm -i devsda 显示硬盘的参数信息

  #fdisk -l 查看硬盘总容量

  #df -hT 查看各分区使用情况

  #du -sh etc 查看指定目录的大小

  #du -csk sort -rn head -n 10 找出系统中占用最多空间的前10个文件或目录。

  #isostat -x 1 5 查看硬盘IO性能(yum -y install sysstat)

  注:如果%util接近100%,说明IO请求过多,IO系统已经满负荷,磁盘可能存在瓶颈。如果idle小于70%,说明读取进程中有较多的wait,IO压力较大。

  #uptime 查看系统当前时间、主机已运行时间、用户连接数、系统最近1,5,15分钟的平均负载。

  #vmstat 1 4 查看系统的进程状态、内存使用情况、虚拟内存使用情况、磁盘的IO、中断、上下文切换、CPU使用情况。

  注:如果r经常大于3或者4,且id经常小于50,则表示CPU的负荷很重。bi、bo长期不等于0,表示内存不足。disk经常不等于0,且在b中的队列大于2或者3,表示IO的性能不好。

  #uname -a 查看内核操作系统CPU信息。

  #cat procversion 显示内核版本

  #head etcissue 查看操作系统和版本

  #file sbininit 查看系统是32位还是64位。

  #lsmod 查看系统已载入的相关模块

  #lspci 列出所有PCI设备

  #lsusb 列出所有USB设备

  #cat procloadavg 查看系统负载 磁盘和分区

  #hdparm -i devhda 查看磁盘参数(仅适用于IDE设备)

  #env 查看环境变量资源

  #mount column -t 查看挂接的分区状态

  #mount devcdrom mntcdrom 挂载光驱

  #dmesg grep IDE 查看启动时IDE设备检测状况 网络

  #w 查看活动用户

  #whoami 查看当前用户

  #id root查看指定用户信息

  #finger root 查看ROOT用户详细信息

  #runlevel 查看当前运行状态

  #ps -ef 查看所有进程

  #top 实时显示进程状态

  #last 查看用户登录日志

  #lsof -i22 查看22端口由哪些程序占用

  #cut -d -f1 etcpasswd 查看系统所有用户

  #cut -d -f1 etcgroup 查看系统所有组

  #crontab -l 查看当前用户的计划任务服务

  #kill -9 3820 强制结束ID为3820的进程

  #killall apache 结束apache这个进程

  #xkill 在图形界面中点杀进程

  #skill(pkill) -kill -u root 注销所有的root登录

  #pkill(skill) -kill -t pts2 注销pts2这种登录类型的用户

  #chkconfig --list 列出所有系统服务

  #chkconfig --list grep 2on 列出所有启动的系统服务

  #ifconfig eth0 10.8.1.2 netmask 255.255.255.0 临时配置IP和子网掩码

  #ifconfig eth0 down 停用网卡

  #ifconfig eth0 hw ether 000c2888fd26 修改MAC地址

  #ifconfig eth0 up 启用网卡

  #vi etcsysconfignetwork-scriptsifcfg-eth0

  DEVICE=eth0

  BOOTPROTO=static

  BROADCAST=192.168.1.255

  HWADDR=000C292C2AE2

  IPADDR=192.168.1.101

  NETMASK=255.255.255.0

  NETWORK=192.168.1.0

  GATEWAY=192.168.1.1

  ONBOOT=yes

  #sudo etcinit.dnetwork restart

  #cat etcsysconfignetwork 查看hostname

  #cat etchosts 查看主机hosts

  #cat etcresolv.conf 查看DNS服务器

  #route add default gw 10.8.1.1 配置网关

  #route add -net 172.16.6.0 netmask 255.255.255.0 gw 172.16.2.25 临时添加静态路由

  #echo 172.16.6.024 via 172.16.2.25etcsysconfignetwork-scriptsroute-eth0 永久添加静态路由

  #iptables -L(netstat -r) 查看防火墙设置

  #route -n 查看路由表

  #netstat -lntp 查看所有监听端口

  #netstat -antp 查看所有已经建立的连接

  #netstat -s 查看网络统计信息

  #nslookup(dig www.baidu.com)

  etcgroup和etcpasswd和etcshadow 组信息和账号信息和密码信息

  #useradd -d homeadmin -s binbash -u 33 -G root -M admin 添加管理员组用户admin

  #usermod -G roots aa 将aa加入roots组

  #userdel -r admin 删除admin用户和它的主目录

  #passwd admin 修改密码

  #passwd -l admin 锁定用户

  #passwd -u admin 解锁用户

  #groupadd roots 创建组roots

  #groupdel roots 删除组roots

  #groupmod nroot roots 修改组名

  #gpasswd -A root roots 添加root到roots组

  #gpasswd -d root roots 将root移出roots组

  #chmod 777 etcsudoers 修改sudoers文件权限

  #chown adminroot install.log 修改install.log的拥有者为admin,群组为root

  #chgrp admin install.log 修改install.log的群组为admin

  passwd其实应该只有ROOT才有权限运行,因为其权限rws中的s,所以普通用户有权限运行它。

  tmp的权限最后三位是rwt,这个t代表粘滞位权限,任何用户都可以写入,但不允许删除别人的数据

  如果一个文件被设置了SUID或SGID位或SBIT位,会分别表现在所有者或同组用户或其它用户的权限的可执行位上。例如:

  1、-rwsr-xr-x (4755)表示SUID和所有者权限中可执行位被设置

  2、-rwSr--r-- (4644)表示SUID被设置,但所有者权限中可执行位没有被设置

  3、-rwxr-sr-x (2755)表示SGID和同组用户权限中可执行位被设置

  4、-rw-r-Sr-- (2644)表示SGID被设置,但同组用户权限中可执行位没有被设置

  5、-rw-rw-r-t (1665)表示SBIT和其它用户权限中可执行位被设置

  6、-r--r--r-T (1444)表示SBIT被设置,但其它用户权限中可执行位没有被设置。

  SUID,SGID,SBIT分别用4,2,1来表示,其位置放置于最前边。

  #chmod u±s filename 设置或去掉SUID位

  #chmod g±s filename 设置或去掉SGID位

  #chmod o±t tmp 设置或去掉粘滞位

  #chattr +a tmpsb.sh 档案只允许增加,不允许修改和删除。

  #chattr +i tmpsa.sh 档案不允许添加,修改和删除操作。

  #lsattr tmpsb.sh

  #umask 002

  档案默认权限为666,目录默认权限为777,而umask默认权限为0022,所以文件和目录创建的默认权限为644和755

  Ubuntu

  #apt-get update 下载但不更新

  #apt-get upgrade 下载且更新

  #apt-get dist-upgrade 智能更新软件

  #apt-get install xipmsg 安装飞鸽传书

  #apt-get install wine1.2 安装wine

  #apt-get install (nvidia-glxxorg-driver-fglrx) (nvidia-settingsfglrx-control)来装nvidia或ati显示驱动

  #sudo gedit etcX11xorg.conf 文件内容:Driver fglrx或Driver nvidia

  #glxgears或fgl_glxgears测试3D加速功能

  #apt-get remove apache 移出包但包含配置文件

  #apt-get remove --purge apache 移出包和配置文件

  #apt-get clean 清除缓存包

  #apt-cache -n search games grep kde 按包名搜索games相关的KDE包

  #apt-cache -n search ^kde 搜索名称以KDE开头的包($放结尾为以KDE结尾的包)

  #apt-cache showpkg mysql-server-5.0 查看包的相关信息

  #rpm -qa 查看所有安装的软件包

  #rpm -ivh apache.rpm 安装

  #rpm -Uvh apache.rpm 升级

  #rpm -e apache 卸载

  #rpm -Va 检验所有rpm包是否被篡改

  #tar czvf dirname.tgz dirname 压缩dirname目录

  #tar tzvf dirname 显示压缩档案文件内容

  #tar xzvf dirname.tgz -C ~source 解压文件到source目录下

  #.configure 配置

  #make 编译该软件

  #make install 安装

  #make clean 清除之前编译的可执行文件及配置文件

  #make distclean 清除所有生成的文件

  #make uninstall 删除软件

  #vi etcinittab 修改启动后的登录界面

  #poweroffshutdownhaltreboot 执行前记得先执行sync保存缓存数据到硬盘

  #shutdown -k now shutdown now!! 发送消息给所有用户。

  #init 0356 关机文本模式图形模式重新启动

  #loginlogout 登录登出计算机

  #ls -la homea

  #touch filename 创建文件

  #mkdir dirname 创建目录

  #rm -rf dirname 删除目录及其下所有文件

  #last 显示所有用户的登录和注销

  #lastb 显示所有失败和错误的登录

  #cat ~.bash_history 查看当前用户运行过的命令

  #vi etcsudoers 按I编辑,加入admin ALL=(ALL) ALL按ESC,输入wq!

  which通过用户的path变量查找,locate和whereis都是通过查找数据库来查找,而find是直接搜寻硬盘文件。