常用Linux命令收集整理
程序员文章站
2022-03-16 19:57:53
这篇文章主要介绍了linux常用命令,很多包括了系统的配置等命令,内容过多大家可以用ctrl+F搜索... 13-06-08...
关机: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是直接搜寻硬盘文件。
更多linux命令
重启: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是直接搜寻硬盘文件。
更多linux命令
上一篇: Linux GCC常用命令详解