常用linux命令整理


目录及文件
  • ls 列目录
  • ls -l (ll) 列出目录详细信息
  • pwd 显示当前目录
  • cd /home/root/ [cd]更改目录命令
  • cd .. 退到当前目录的上一级目录
  • cd / 直接进入到根目录
  • cd ~ 进入宿主目录
  • ./test 进入当前目录下的test目录
  • mkdir 新键目录[可以同时建立多个目录]#mkdir dira dirb dirc
  • rmdir 删除目录[删除指定的空目录]
  • cp 复制文件
  • rm -r 删除有内容的目录
  • file 文件类型查看
  • touch 新键文件
  • cp 复制文件
  • rm 删除文件
  • mv 文件重命名与文件移动[#mv a b][#mv a b backup/]
  • find 查找文件命令
  • 文本文件查看命令:
  • cat 简单的文本文件查看
  • more 分屏显示文件中的内容
  • less 适合较大的文本文件的阅览、
--------------------------------------------------------------------
  • head 显示文件的头部[默认显示10行内容]#head -3[显示头部3行内容]
  • tail 显示文件的尾部
--------------------------------------------------------------------
用户/组管理命令
  • less /etc/passwd 查看所有用户
  • less /etc/passwd 查看用户密码
  • adduser sunchen 添加用户
  • passwd sunchen 为sunchen用户设置密码
  • userdel sunchen 删除用户
  • usermod -L [用户帐号] 禁用系统中的用户帐号
  • usermod -U [用户帐号] 启用系统中被禁用的用户帐号
  • usermod -e YYYY-MM-DD name 设置帐号的有效期限
  • groupadd class1 添加用户组[class1]
  • adduser -g class1 sunchen 添加sunchen用户到class1组
  • less /etc/group 查看系统中所有的组
  • groupdel class1 删除用户组
  • usermod -g [组] [用户] 将用户添加到组
--------------------------------------------------------------------
文件权限设定
  • chmod [ugoa] [+-=] [rwx] [文件名] 更改某类用户的操作权限
  • [u:文件属主] [g:文件属组] [o:其他用户(除u&g)] [a:所有用户]
  • [+:增加相应权限] [-:减少相应权限] [=:赋值权限]
  • [r:读4][w:写2][x:执行1]
  • chown sunchen abc 更改abc文件的属主为sunchen
  • chown :class1 abc 更改abc文件的属组为class1
  • chown sunchen:class1 abc 更改ABC文件的属主和属组
--------------------------------------------------------------------
文本编辑
  • vi 新键一个为命名的空文件
  • a 进入输入模式
  • [ESC] 推到命令模式
  • [SHIFT]+: 进入末行模式
  • :q! 强退不保存
  • :e [文件名] 进入另一个文件进行编辑
  • :e! [文件名] 强行进入另一个文件
  • :r [文件名] 读取文件内容到当前文件
  • :w abc 保存文件并命名问abc
  • :q 退出VI编辑器
  • :wq 保存并退出
  •        k上         命令模式
  • h左        l右
  •        j下     
  • 命令模式
  • ^ 转到本行的行首字符
  • $ 转到本行的行末字符
  • 1G 跳转到文件的首行
  • G 跳转到文件的末尾行
  • #G 跳转到文件的第#行
  • dd 删除光标所在行
  • yy 复制当前整行的内容到VI缓冲区
  • y$ 复制到行尾
  • y^ 复制到行首
  • #yy 复制当前行及后续#行的文本内容到VI缓冲区
  • /word 从上而下在文件中查找指定的字符串
  • n 查找下一个匹配的字符 N 反向查找下一个字符
  • ?word 自下而上查找
  • :s/old/new 替换操作
  • :s/old/new/g 行内全部替换
  • :#,#s/old/new/g 在行区域内进行替换
  • :%s/old/new/g 整个文件内的替换
  • 以上命令:%S/old/new/gc 强制每个替换操作都需要用户进行确认
  • y,替换当前已经定位的匹配字符串
  • n,不替换当前
  • a,替换指定范围内所有匹配字符
  • q,退出确认界面,并取消当前命令所有的替换操作。
--------------------------------------------------------------------
编辑多文件操作
  • vi aa bb cc 打开多文件
  • :args 显示多文件信息
  • :next 向后切换文件[!]不保存切换
  • :prev 向前切换文件
  • [CTRL]+^ 快速文件切换,最近打开的两个文件
--------------------------------------------------------------------
SHELL的使用
echo $SHELL 查看用户当前登陆使用的Shell程序
chsh 更改用户自己的登陆SHELL
1.环境变量
  • set 查看系统中的SHELL变量
  • echo $USER 表示当前用户登陆名称[whoami]
  • echo $UID 表示当前用户的用户号[id -u]
  • echo $SHELL 表示当前用户的登陆SHELL
  • echo $HOME 当前用户的登陆目录(宿主目录)
  • echo $PWD 用户当前所在的目录[pwd]
  • echo $PATH 当前拥护的命令搜索路径
  • echo $PS1 当前用户的主提示符
  • echo $PS2 辅助提示符
2.位置变量$1--$9
  • 例:
  • #vi abc
  • --------------------------------------------------------------------
  • #a
  • --------------------------------------------------------------------
  • ~#!/bin/bash
  • ~echo my name is sunchen
  • ~
  • ~
  • :wq
  • --------------------------------------------------------------------
  • #bash abc [. abc][./abc]要权限  #chmod u=x abc
  • my name is sunchen
  • --------------------------------------------------------------------
  • ~#!/bin/bash
  • ~echo my name is $1
  • ~
  • ~
  • :wq
  • --------------------------------------------------------------------
  • #bash abc 123
  • my name is 123
--------------------------------------------------------------------
3.预定义变量
ps 当前进程
echo $# 表示位置参数的数量
echo $* 表示所有位置参数的内容
echo $? 表示命令执行后返回的状态,检测上一个命令是否正确;0:正确
echo $$ 表示当前进程的进程号
echo $! 表示后台运行的最后一个进程号
echo $0 表示当前执行的进程名
4.用户自定义变量
#DAY=sunday
#echo $DAY
sunday
export DAY 输入指定名称的变量为全局变量
unset DAY 清除自定义变量
--------------------------------------------------------------------
Bash常用功能:左右方向键 光标的移动
  • [Home][End] 光标快速移动到命令行的行首和行尾
  • Ctrl+U 删除当前光标到行首的内容
  • Ctrl+K 删除当前光标到行尾的内容
  • [Tab] 命令行补全功能
  • history 显示历史命令列表
  • which [] 查看[]是不是命令
  • !12 快速输入12历史的命令
  • history -c 命令历史的清除
  • alias 显示用户当前Bash中已经定义的所有命令别名
  • alias history=h 定义命令别名
  • unalias h 取消命令别名
  • unalias -a 全部清楚命令别名
--------------------------------------------------------------------
管道与重定向
  • < 输入重定向(输入重定向是将命令中接收输入的途径由默认的键盘更改[重定向为指定的文件)
  • > 输出重定向(将命令执行结果重定向输入到指定的文件中,命令进行输出重定向后执行结果将不显示在屏幕上)
  • >> 输出重定向(将命令执行的结果重定向并追加到指定文件的末尾保存)
  • 2> 错误重定向(清空指定文件的内容,并保存标准错误输出的内容到指定文件)
  • 2>> 错误重定向(向指定文件中追加命令的错误输出,而不覆盖文件中的原有内容)
  • &> 输出与错误组合重定向(将标准输出与错误输出的内容全部定向到指定文件)
  • | 管道,实现数据从左至右的传输
--------------------------------------------------------------------
Shell脚本
  • ~#!/bin/bash 首行内容(决定使用bash解释执行的Shell脚本)
--------------------------------------------------------------------
Linux应用程序组成
保存目录      文件类型
  • /usr/bin 普通执行程序文件
  • /usr/sbin 服务器执行程序文件和管理程序文件
  • /etc 应用程序配置文件
  • /usr/share/doc 应用程序文挡文件
  • /usr/share/man 应用程序手册页文件
--------------------------------------------------------------------
RPM包管理
  • grep 指定内容查找
  • bash-3.0-19.2.i386.rpm RPM软件包的文件名
  • rpm -qa 查询Linux系统中的所有软件包
  • rpm -q [包名称] 查询指定名称的软件包是否安装
  • rpm -qi [包名称] 查询指定名称软件包的详细信息
  • rpm -ql [包名称] 查询指定名称软件包中所包括的文件列表
  • rpm -qf [软件名称] 查询指定文件所属的软件包
  • rpm -qpi [包名称] 查询指定RPM包文件的详细信息
  • rpm -qpl [包名称] 查询指定RPM包中包含的文件列表
  • rpm -qa | grep ii 查询内容含ii的软件包
--------------------------------------------------------------------
使用rpm命令安装软件包
  • rpm -i [RPM软件包文件名] 安装指定的RPM软件包
  • rpm -ivh [RPM安装包文件] 安装软件包的同时显示详细信息
  • rpm -ivh --test [RPM安装包文件] 检测试安装
  • rpm --force -i [RPM包文件] 显示依赖关系
  • rpm -e [软件包名称] 卸载软件包
  • rpm -ivh --nodeps [软件包名称] 忽略依赖关系强制安装
  • rpm -U [RPM安装包文件名] 升级软件包
  • tar jxf [原代码软件包] 释放已下载的源代码软件包文件
--------------------------------------------------------------------
编译安装 [configure命令需要进入源代码目录后执行]
  • ./configure --prefix=程序安装目录的绝对路径 指定应用程序编译完成后的安装路径
  • ./configure 配置源代码的默认安装路径为“/usr/local/bin”目录
  • make 进行程序的二进制编译
  • make install 编译后安装已编译完成的程序到预先配置的目录(确定目标目录存在)
--------------------------------------------------------------------
Linux系统管理
运行级别
  • 0:停机  1:单用户模式  2:多用户模式  3:完全多用户模式(文本界面)  4:未分配使用  5:图形多用户模式  6:重新启动
  • chkconfig --list 显示全部服务的启动状态
  • chkconfig --list [服务名称] 查看系统中单一服务的启动状态
  • chkconfig --add [name] 添加一个服务
  • chkconfig --del [name] 删除一个服务
  • chkconfig --level [运行级别] [服务名称] [on|off|reset] 设置指定服务在运行级别中的启动状态
  • chkconfig [服务名称] [on|off|reset] 设置非独立服务的启动状态
  • 只有xinetd服务启动后才有可能启动非独立服务程序
  • service xinetd restart 重启
  •                status 查看状态
  •                stop 停止
  •                start 启动
  • 使用chkconfig命令对非独立服务的启动状态进行了更改后,需要重新启xinetd服务,以使对xinetd服务更改的设置生效。
--------------------------------------------------------------------
INIT进程
  • /etc/inittab INIT的配置文件(可以通过vi修改其进程)
  • #vi /etc/inittab
  • id:(0123456):initdefault:
--------------------------------------------------------------------
进程管理类命令
  • ps 查看当前进程
  • ps aux 查看所有进程
  • top 查看进程的列表和每一个进程运行的状态
  • pstree 查看进程树
  • & 启动后台进程 [#cp /dev/cdrom mucd.iso &]
--------------------------------------------------------------------
调度启动
  • date 查看系统当前的时间
  • at 指定某个命令在某个时间一次性在系统中执行
  • at -t [MMDDhhmm] 月份/日期/小时/分钟
  • Ctrl + D 结束at命令的执行
  • atq 查询系统中设置的还未执行的at命令
  • atrm 删除指定任务编号的at命令
  • crontab 在系统中设置需要周期性(如每天,每周等)完成的任务
--------------------------------------------------------------------
改变进程的运行方式
  • Ctrl + Z 将当前终端的进程调入后台并停止运行
  • jobs 查看后台的进程
  • fg [后台进程编号] 将后台的进程恢复到前台运行
  • Ctrl + C 终止命令执行
  • kill -9 [PID] 终止系统中的进程(PID)命令参数
  • /var/spool/mail/root 计划任务执行后系统给用户的提示
--------------------------------------------------------------------
系统任务的定时运行
  • cron服务的软件包名称是"vixie-cron",而不是"cron".
  • crontab -l 查看用户的cron任务
  • crontab 用于对用户自己需要周期执行的任务
  • vi /etc/crontab 用于自动完成系统管理任务
  • 任务格式
  • #crontab
  • 分钟 小时 日期 月份 星期 [要执行的命令]
  • 50 18 30 12 [0~7] run_daily_cmd (12月30日18点50分执行)
  • less /var/spool/cron/root 查看用户创建的cron任务
  • ls /var/spool/cron 查看创建cron任务的用户
  • crontab -e 调用文本编辑器对cron任务进行编辑
  • crontab -r 删除用户现有的cron任务
  • #cat /etc/crontab 系统任务配置文件
--------------------------------------------------------------------
空间配额
  • rpm -q quota 查询是否安装quota软件包
  • 设置磁盘配额的步骤
  • (1).修改"fstab"文件
  • //编辑“/etc/fstab”文件
  • #vi /etc/fstab
  • //对“/”分区进行修改
  • LABEL=    /     ext3    defaults    11
  • //改为
  • LABEL=    /     ext3    defaults,usrquota,grpquota    11
  • usrquota 用户配额     grpquota 组的配额
  • (2).重新挂载文件系统
  • #reboot 重新启动
  • (3).创建配额文件
  • //使用“quotacheck”命令创建配额文件
  • #quotacheck -cmug [/]分区
  • //查看已建立的配额文件
  • #ls /aquota.*
  • /aquota.group    /aquota.user
  • //“aquota.user”是用户配额文件,“aquota.group”是用户组的配额文件
  • //配额文件总是建立在文件系统的根目录中
  • (4)设置配额
  • //使用“edquota -u”命令设置用户配额
  • #edquota -u root
  • #edquota -g root 设置组的配额
  • quotaon /[分区] 启动配额
  • edquota命令的编辑界面
  • Disk quotas for user st01 (uid 501):
  •  Filesystem    blocks    soft    hard    inodes    soft    hard
  •  /dev/hda3         76   90000  100000        11       0       0
  • Filesystem表示文件系统,即需要设置配额的硬盘分区。
  • blocks表示拥护已经占用的数据块数量(KB)。
  • inodes表示用户拥有的文件数。用户占用“i节点”的个数
  • soft表示磁盘容量或文件个数的软限制数量(KB/个)超过-收到系统的警告信息
  • hard表示磁盘容量或文件个数的硬限制数量(KB/个)超过-不能正常使用系统
  • 磁盘配额的命令
  • quotacheck -cmug /[文件系统挂载点目录] 建立文件系统配额文件
  • quotacheck -mfvug /[文件系统] 对文件系统的配额进行一致性检测
  • 配额的宽限时间
  • edquota -t 用户占用的(磁盘空间/文件数)超过软限制,能够使用系统的最长时限。
--------------------------------------------------------------------
文件的归档与备份
  • tar cf 文件名.tar [需备份的文件或目录/名] 对文件和目录进行归档
  • tar czf 文件名.tar.gz [需备份的文件或目录] 对文件和目录进行压缩备份
  • tar tf 文件名.tar 查看tar归档文件中的目录列表
  • tar tzf 文件名.tar 查看压缩归档文件中的目录文件
  • tar xf 文件名.tar 恢复(释放)归档文件中的内容
  • tar xzf 文件名.tar.gz 恢复(释放)压缩的归档文件中的内容
  • tar xf(xzf) [文件名.tar(.gz)] -C [目录名/] 恢复归档文件到指定目录
--------------------------------------------------------------------
Linux基本网络配置
查看网络接口信息
  • ifconfig 查看网络接口信息(/sbin/ifconfig)
  • ifconfig [网络接口] 查看指定网络接口信息
  • ifconfig -a 查看系统中所有网络接口的信息
  • 查看网关地址和路由信息
  • route 查看主机路由信息(/sbin/route)
  • route | grep default 显示默认网关地址
  • ping 目的主机地址 测试与其他主机的网络连接
  • Ctrl + C 结束ping命令执行
  • ping -c [测试数据包数量] [目的主机地址] 发送指定数量的数据包进行网测
  • traceroute [目的主机地址] 测试与其他主机的网络连接路径
--------------------------------------------------------------------
查看主机名称信息
  • hostname 查看当前主机的主机名称
  • hostname [sunchen] 更改主机名(重启后消失)
  • vi /etc/sysconfig/network 更改主机名(重起后生效)
  • ~# grep HOSTNAME /etc/sysconfig/network
  • HOSTNAME=sunchen
--------------------------------------------------------------------
使用DNS服务器查询域名
  • nslookup 域名查询
  • exit 退出交换环境
--------------------------------------------------------------------
网络设置
  • dhclient 从DHCP服务器中申请新的网络配置应用于当前Linux主机
  • ifconfig [网络接口名称] [ip地址] netmask [子网掩码] 配置IP地址
--------------------------------------------------------------------
路由配置
  • route add default gw [默认网关地址] 添加默认网关路由
  • route del default gw [默认网关地址] 删除默认网关路由
--------------------------------------------------------------------
使用工具进行网络配置
  • netconfig 窗口配置界面进行网络配置
--------------------------------------------------------------------
网络服务启动脚本
  • /etc/init.d/network restart 重新设置当前系统的网络属性(否则新的配置将在系统下次启动时生效)
  • /etc/init.d/network stop 停止网络服务
  • cat /etc/sysconfig/network-scripts/ifcfg-eth0 查看eth0接口的配置
  • ifdown [网络接口名称] 停止网络接口
  • ifup [网络接口名称] 启动网络接口
  • ifdown eth0 ; ifup eth0 关闭接口并启动使网络配置生效
--------------------------------------------------------------------
本地主机名称解析文件
  • cat /etc/hosts 保存本地的主机名与IP地址的对应记录
  • vi /etc/hosts 添加更多的IP地址与主机名称的对应记录
--------------------------------------------------------------------
域名服务器配置文件
  • cat /etc/resolv.conf 查询用于域名解析的DNS服务器
--------------------------------------------------------------------
NFS文件系统
NFS服务器的安装
  • rpm -q nfs-utils portmap 查询"nfs-utils"和"portmap"两个软件包是否安装
  • nfs-utils和portmap两个软件包在RHEL4的第2张安装光盘的/RedHat/RPMS目录中
  • rpm -ivh nfs-utils-1.0.6-46.i386.rpm portmap-4.0-63.i386.rpm 安装nfs-utils和portmap两个软件包
--------------------------------------------------------------------
NFS服务器的配置
  • vi /etc/exports 配置输出共享目录
  • ~[nfs共享目录名称]  [客户端主机地址](设置选项)
  • ~/home/share    *(sync,ro)
  • * 所有主机
  • sync 设置NFS服务器同步写磁盘,这样不会轻易丢失数据
  • ro 设置输出的共享目录只读
  • rw 设置输出的共享目录读写 (ro和rw不能同时使用)
--------------------------------------------------------------------
NFS服务器的启动与停止
  • service [服务程序脚本名称] status 查询指定服务器程序的运行状态
  • 当portmap,nfs两个服务程序都正常运行时,能够正常对外提供NFS目录共享
  • service [服务程序脚本名称] start 启动程序
  • stop 停止程序
--------------------------------------------------------------------
设置服务器的开机启动状态
  • chkconfig --list 服务程序 查看程序的开机启动状态
  • chkconfig --level 0~6 程序名称 on/off 设置服务程序的启动级别
--------------------------------------------------------------------
showmount命令
  • showmount 显示当前主机中NFS服务器的连接信息
  • showmount [NFS服务器主机地址] 显示指定主机中NFS服务器的连接信息
  • showmount -e 显示当前主机中NFS服务器的输出列表
  • showmount -d [ip] 显示NFS服务器中已经被NFS客户机挂载使用的共享目录
  • showmount -a [ip] 显示NFS服务器中已经被挂载的共享目录列表和客户机地址
--------------------------------------------------------------------
exportfs命令
  • exportfs -rv 使新设置的“exports”文件内容生效
  • exportfs -auv 停止输出所有目录
  • exportfs -av 输出(启动)所有目录
--------------------------------------------------------------------
使用光盘
  • mount -t iso9660 /dev/cdrom /media/cdrom/ 光盘的挂载
  • ls /media/cdrom/ 光盘内容的读取
  • umount /dev/cdrom [umount /media/cdrom/] 光盘的卸载
  • eject 自动弹出光盘托盘
  • eject -t 自动收回托盘光盘
  • cp /dev/cdrom backup.iso 制作光盘镜像文件
  • mount -o loop -t iso9660 backup.iso /media/cdrom/ 挂载光盘镜象文件
  • umount /media/cdrom/ 卸载光盘镜像文件
--------------------------------------------------------------------
U盘的识别
  • fdisk -l 列出系统中所有存储设备
  • mount -t vfat /dev/sda1 /mnt/ U盘的挂载
  • mount -t ntfs /dev/sda1 /mnt/
  • umount /dev/sda1 U盘的卸载
--------------------------------------------------------------------
 

posted on 2014-04-10 22:18  磐石、  阅读(525)  评论(0编辑  收藏  举报

导航