linux常用命令一

1:关机,重启,shutdown ,init 0,reboot
2:su root;转换用户
3:ls -l显示目录
4:init 0;关机
5:reboot 重启
6:chmod 777,文件 4读 2,写 1执行 ,本用户,同组用户,所有用户
7:rm -f 删除不询问
8:unzip 解压zip文件、
9:zip 压缩zip文件
2、用户管理命令
useradd 注:添加用户
adduser 注:添加用户
passwd 注:为用户设置密码
usermod 注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;
pwcov 注:同步用户从/etc/passwd 到/etc/shadow
pwck 注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;
pwunconv 注:是pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件;
finger 注:查看用户信息工具
id 注:查看用户的UID、GID及所归属的用户组
chfn 注:更改用户信息工具
su 注:用户切换工具
sudo 注:sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现;
visudo 注:visodo 是编辑 /etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是一样的;
sudoedit 注:和sudo 功能差不多;

3、管理用户组(group)的工具或命令;
groupadd 注:添加用户组;
groupdel 注:删除用户组;
groupmod 注:修改用户组信息
groups 注:显示用户所属的用户组
grpck
grpconv 注:通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建;
grpunconv 注:通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除gshadow文件。

4:已d开头的为文件夹,否则为文件
5:通常用 ps,top 查看进程
    kill 进程id 终止进程
6:
Linux 系统常用命令格式:

    command  [option]  [argument1]  [argument2]  ...

其中option以“-”开始,多个option可用一个“-”连起来,如“ls -l -a” 与“ls -la”的效果是一样的。根据命令的不同,参数分为可选的或必须的;所有的命令从标准输入接受输入,输出结果显示在标准输出,而错误信息则显示在标准错误输出设备。可使用重定向功能对这些设备进行重定向。

命令在正常执行结果后返回一个0值,如果命令出错可未完全完成,则返回一个非零值(在shell中可用变量$?查看)。 在shell script中可用此返回值作为控制逻辑的一部分。
帮助命令:

man  获取相关命令的帮助信息
     例如:man dir 可以获取关于dir的使用信息。

info  获取相关命令的详细使用方法
      例如:info info 可以获取如何使用info的详细信息。

文件操作:

cat  显示文件内容和合并多个文件
clear  清屏
chattr  改变文件属性
chgrp  改变文件组权
chmod  改变文件或目录的权限
chown  改变文件的属权
comm  比较两个已排过序的文件
cp  将文件拷贝至另一文件
dd  从指定文件读取数据写到指定文件
df  报告磁盘空间使用情况
diff  比较两个文本文件,列出行不同之处
du  统计目录/文件所占磁盘空间的大小
file  辨识文件类型
emacs  功能强大的编辑环境       
find  搜索文件并执行指定操作(find2)
grep  按给定模式搜索文件内容
head  显示指定文件的前若干行
less  按页显示文件
ln  创建文件链接
locate  查找符合条件的文件
more  在终端屏幕按帧显示文本文件
mv  文件或目录的移动或更名
rm/rmdir  删除文件/目录
sed  利用script来处理文本文件
sort  对指定文件按行进行排序
tail  显示指定文件的最后部分
touch  创建文件
tr  转换字符
vi  全屏编辑器
wc  显示指定文件中的行数,词数或字符数
which  在环境变量 $PATH 设置的目录里查找符合条件的文件

压缩与备份:

bzip2/bunzip2  .bz2文件的压缩/解压缩程序
cpio  备份文件
dump  备份文件系统
gzip/gunzip  .gz文件的压缩/解压缩程序
gzexe  压缩可执行文件
restore 还原由倾倒(Dump)操作所备份下来的文件或整个文件系统(一个分区)
tar  将若干文件存档或读取存档文件
unarj  解压缩.arj文件
zip/unzip  压缩/解压缩 zip文件
zipinfo  列出zip压缩文件的详细信息

磁盘操作:

cd/pwd  切换目录/显示当前工作目录
df  显示磁盘的相关信息
du  显示目录或文件的大小
e2fsck  检查ext2/ext3文件系统的正确性
fdisk  对硬盘进行分区
fsck  检查文件系统并尝试修复错误
losetup  设置循环设备
ls  列出目录内容
mkdir  创建目录
mformat  对MS-DOS文件系统的磁盘进行格式化
mkbootdisk  建立目前系统的启动盘
mke2fs  建立ext2文件系统
mkisofs  制作iso光盘映像文件
mount/umount 加载文件系统/卸载文件系统
quota  显示磁盘已使用的空间与限制
sync  将内存缓冲区内的数据写入磁盘
tree  以树状图列出目录的内容

系统操作:

alias  设置指令的别名
chkconfig  检查,设置系统的各种服务
clock  调整 RTC 时间
date  显示或设置系统时间与日期
dmesg  显示开机信息
eval  重新运算求出参数的内容
exit  退出目前的shell
export  设置或显示环境变量
finger  查找并显示用户信息
free  显示内存状态
hostid  显示主机标识
hostname  显示主机名
id  显示用户标识
kill  删除执行中的程序或工作
last  列出目前与过去登入系统的用户相关信息
logout  退出系统
lsmod  显示已载入系统的模块
modprobe  自动处理可载入模块
passwd  设置用户密码
ps  process status 报告程序状况
reboot  重启计算机
rhwo  查看系统用户
rlogin  远程登入
rpm  管理Linux各项套件的程序
shutdown  关机
su switch user 变更用户身份
top  显示,管理执行中的程序
uname  显示系统信息
useradd/userdel 添加用户 / 删除用户
userinfo  图形界面的修改工具
usermod  修改用户属性,包括用户的shell类型,用户组等,甚至还能改登录名
w  显示目前注册的用户及用户正运行的命令
whereis 确定一个命令的二进制执行码,源码及帮助所在的位置
who  列出正在使用系统的用户
whois  查找并显示用户信息

网络通信:

arp  网地址的显示及控制
ftp  文件传输
lftp  文件传输
mail  发送/接收电子邮件
mesg  允许或拒绝其他用户向自己所用的终端发送信息
mutt  E-mail管理程序
ncftp  文件传输
netstat  显示网络连接、路由表和网络接口信息
pine  收发电子邮件,浏览新闻组
ping  向网络上的主机发送 icmp echo request 包
ssh  安全模式下的远程登录
telnet  远程登录
talk  与另一用户对话
traceroute  显示到达某一主机所经由的路径及所使用的时间
wget 从网络上自动下载文件
write  向其他用户的终端写信息




---------------------注-------
1. 在LINUX命令平台输入1-2个字符后按Tab键会自动补全后面的部分(前提是要有这个东西,例如在装了tomcat的前提下,输入tomcat的to按tab)。
2. ps 命令用于查看当前正在运行的进程。
    grep 是搜索
   例如: ps -ef | grep java
                 表示查看所有进程里CMD是java的进程信息
                 ps -aux | grep java
                 -aux 显示所有状态
                 ps
3. kill 命令用于终止进程
   例如: kill -9 [PID]               
                 -9表示强迫进程立即停止
通常用ps 查看进程PID ,用kill命令终止进程
网上关于这两块的内容
-----------------------------------------------------------------------------------
PS
-----------------------------------------------------------------------------------
1. ps简介
ps命令就是最根本相应情况下也是相当强大地进程查看命令.运用该命令可以确定有哪些进程正在运行和运行地状态、进程是否结束、进程有没有僵死、哪些进程占用了过多地资源等等.总之大部分信息均为可以通过执行该命令得到地.
2. ps命令及其参数
ps命令最经常使用地还是用于监控后台进程地工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设
备进行通信地,所以如果需要检测其情况,便可以运用ps命令了.
该命令语法格式如下:
ps [选项]
-e 显示所有进程,环境变量
-f 全格式
-h 不显示标题
-l 长格式
-w 宽输出
a   显示终端上地所有进程,包括其他用户地进程
r   只显示正在运行地进程
x   显示没有控制终端地进程
O[+|-] k1 [,[+|-] k2 [,…]] 根据SHORT KEYS、k1、k2中快捷键指定地多级排序顺序显示进程列表.
对于ps地不同格式都存在着默认地顺序指定.这些默认顺序可以被用户地指定所覆盖.在这里面“+”字符是可选地,“-”字符是倒转指定键地方向.
pids只列出进程标识符,之间运用逗号分隔.该进程列表必须在命令行参数地最后一个选项后面紧接着给出,中间不能插入空格.比如:ps -f1,4,5.
以下介绍长命令行选项,这些选项都运用“--”开头:
--sort X[+|-] key [,[+|-] key [,…]] 从SORT KEYS段中选一个多字母键.“+”字符是可选地,因为默认地方向就是按数字升序或者词典顺序.比如: ps -jax -sort=uid,-ppid,+pid.
--help 显示帮助信息.
--version 显示该命令地版本信息.
在前面地选项说明中提到了排序键,接下来对排序键作进一步说明.需要注意地是排序中运用地值是ps运用地内部值,并非仅用于某些输出格式地伪值.排序键列表见表4-3.
表4-3 排序键列表
c
cmd
可执行地简单名称
C
cmdline
完整命令行
f
flags
长模式标志
g
pgrp
进程地组ID
G
tpgid
控制tty进程组ID
j
cutime
累计用户时间
J
cstime
累计系统时间
k
utime
用户时间
K
stime
系统时间
m
min_flt
次要页错误地数量
M
maj_flt
重点页错误地数量
n
cmin_flt
累计次要页错误
N
cmaj_flt
累计重点页错误
o
session
对话ID
p
pid
进程ID
P
ppid
父进程ID
r
rss
驻留大小
R
resident
驻留页
s
size
内存大小(千字节)
S
share
共享页地数量
t
tty
tty次要设备号
T
start_time
进程启动地时间
U
uid
UID
u
user
用户名
v
vsize
总地虚拟内存数量(字节)
y
priority
内核调度优先级
3. 经常使用ps命令参数
最经常使用地三个参数是u、a、x,下面将通过例子来说明其具体用法.
[例20] 以root身份登录系统,查看当前进程状况
$ ps
PID TTY TIME COMMAND
5800 ttyp0 00:00:00 bash
5835 ttyp0 00:00:00 ps
可以看到,显示地项目共分为四项,依次为PID(进程ID)、TTY(终端名称)、TIME(进程执行时间)
、COMMAND(该进程地命令行输入).
可以运用u选项来查看进程所有者及其他少许详细信息,如下所示:
$ ps u
USER PID %CPU %MEM USZ RSS TTY STAT START TIME COMMAND
test 5800 0.0 0.4 1892 1040 ttyp0 S Nov27 0:00 -bash
test 5836 0.0 0.3 2528 856 ttyp0 R Nov27 0:00 ps u
在bash进程前面有条横线,意味着该进程便是用户地登录shell,所以对于一个登录用户来说带短横线地进程只有一个.还可以看到%CPU、%MEM两个选项,前者指该进程占用地CPU时间和总时间地百分比;后者指该进程占用地内存和总内存地百分比.
在这种情况下看到了所有控制终端地进程;当然对于其他那些没有控制终端地进程还是没有观察到,所以这时就需要运用x选项.运用x选项可以观察到所有地进程情况.
-----------------------------------------------------------------------------------
KILL
-----------------------------------------------------------------------------------
由于职责的要求,你不得不费力地阅读那些令你感到费解的晦涩的Linux应用程序的说明文件。然后,你将运行指令和编辑设置文件。一切都在正常运行,生活真美好。但是,你知道,好时光不会永远持续下去。当你遇到令人恐惧的“send the process a SIGHUP”提示时,好时光结束了。
  什么是“SIGHUP(启动信号)”,你如何发送它?它像是你送给你的恋人的一束花吗?虽然你可以肯定这不是一个命令行指令,不过,你还是试着键入它。当然,这没有结果。然后,你检查一下键盘。哦,没有SIGHUP键。于是你又重新阅读这个应用程序的参考指南,看到下面这段文字:
  当收到一个hangup(进程结束)信号时,sshd程序会重新阅读配置文件。通过执行启动程序时的命令及选项来发送SIGHUP信号,如:/usr/sbin/sshd。
  程序员 VS 使用者
  LINUX程序的在线参考指南作者一般都要既照顾到最终用户的需求也要照顾到高级程序员的需求。因此,有些说明比较难懂。不过,不要担心。现在我们就要揭开覆盖在这些让人迷惑的内容上面那神秘的面纱。
  信号与进程控制
  这个问题主要属于信号和进程控制的范畴。对于我们系统管理员和普通用户来说,我们主要关心的是启动、停止和重新启动服务、停止失控的进程和被挂起的进程,并且尽可能不中断系统运行。因为不同的
操作系统和不同的命令外壳处理信号的方式都不相同,我们这里只介绍Linux操作系统和bash外壳。
  信号是用来与守护程序和进程通信的。任何活动任务都是一个进程,而守护程序是等待对某些事件做出反应或者按照日程安排执行任务的后台服务。一个程序必须有建在其中的信号处理程序用于捕获和应答信号。在LINUX中的signal 参考指南解释了各种不同信号和这些信号的用途。信号是由“kill”命令发出的。kill -l命令可以显示一个可用信号列表及其编号。
  所有的守护程序和进程都有一个进程ID(PID),例如使用ps命名所显示的内容:
  $ ps aux
  USER PID %CPU %MEM TTY STAT COMMAND
  root 1 0.0 0.1 ? S init [2]
  105 7783 0.0 0.2 ? Ss /usr/bin/dbus-daemon --system
  hal 7796 0.0 0.7 ? Ss /usr/sbin/hald
  postfix 7957 0.0 0.2 ? S qmgr -l -t fifo -u -c
  nagios 8371 0.0 0.2 ? SNs /usr/sbin/nagios /etc/nagios/nagios.cfg

  这个输出是经过简化的。你在系统中可以看到更多的行和栏目。如果某些进程消耗了你的全部CPU或者内存,你可以在这个输出的%CPU和%MEM列中发现它们。找到失控的进程的一种更快捷的方法是使用top命令,因为按照默认的设置,使用占用CPU资源最多的进程在最上面显示。我们可以使用一条“yes”命令来测试一下:
$ yes carla is teh awesum

  这个命令将以很高的速度反复显示“carla is teh awesum”,直到你停止它运行。这将使你的CPU使用率达到警戒线。
  $ top
  ...
  PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  12144 carla 25 0 31592 17m 13m R 93.4 3.5 0:50.26 konsole
  22236 carla 15 0 2860 468 400 S 4.3 0.1 0:00.97 yes

分析一下这个结果,你会发现一些有趣的事,你会发现,占用CPU最多的程序是konsole虚拟终端程序,而不是“yes”命令,这是因为“yes”命令是在konsole终端程序中运行的。如果在一个“真正的”控制台(按Ctrl+alt+f2键)中运行同样的命令序列,你将看到“yes”命令被排在第一位。

  有许多停止“yes”命令运行的方式。如果你要回到运行它的shell中,按CTRL+c键就可以了。或者你可以在另一个shell中用“kill”命令停止“yes”命令的运行,Kill命令后面跟PID或者命令名称,如下如示:
$ kill 22236

  或者
$ killall yes

  按CTRL+c键发出一个SIGINT(信号2),这个信号是键盘要求取得控制权的中断信号。kill和killall这两个命令按照默认的设置都发出一个SIGTERM信号(编号15)。程序中可以设置对SIGTERM信号(15)是捕捉或者忽略,或者以不同的方式解释。因此,如果你的程序对于KILL命令的反应与你预期不同,很可能是被KILL的目标程序的问题。
  终止一个父进程通常也终止了它的子进程。不过,情况并不总是如此。你知道子进程是什么吗?使用ps命令加上-f选项就可以看到,如下所示:
  $ ps axf
  22371 ? R 2:35 _ konsole [kdeinit]
  22372 pts/3 Ss 0:00 | _ /bin/bash
  24322 pts/3 S+ 0:00 | | _ yes carla is teh awesum
  22381 pts/4 Rs 0:00 | _ /bin/bash
  24323 pts/4 R+ 0:00 | | _ ps axf

  现在,回到SIGHUP的话题
  SIGHUP的发音是“sig-hup”,是signal hangup的缩写,含义是“中止信号”。你如何发送一个SIGHUP信号呢?这里有几种方式:
# kill -HUP [pid]

# killall -HUP [process-name]

# kill -1 [pid]

# killall -1 [process-name]

  因此,你可以使用PID或者名称,信号名称或者号码。那么为什么要这样做而不使用/etc/init.d/foo命令重新启动呢?使用它们自己的init(初始化)文件来控制服务是优先选择的方式,因为这些文件通常包含健全和错误检查以及额外的功能。使用“kill”命令和信号的主要原因是尽可能明确地终止挂起和失控的进程,而不必重新启动或者登出。
终止进程
  正如你在关于信号的man page中所看到的,有十几种控制进程的方法。下面是一些常用的方法:
  kill -STOP [pid]
  发送SIGSTOP (17,19,23)停止一个进程,而并不消灭这个进程。
  kill -CONT [pid]
  发送SIGCONT (19,18,25)重新开始一个停止的进程。
  kill -KILL [pid]
  发送SIGKILL (9)强迫进程立即停止,并且不实施清理操作。
  kill -9 -1
  终止你拥有的全部进程。
  SIGKILL和SIGSTOP信号不能被捕捉、封锁或者忽略,但是,其它的信号可以。所以这是你的终极武器。
  Bash shell的Kil命令l
  Bash外壳包含一个内置的kill命令,当执行下面命令:
  $ type -all kill
  kill is a shell built-in
  kill is /bin/kill

  命令的结果表明有两个kill命令,一个是BASH的内置命令,另一个是/bin/kill可执行程序。一般来说这两个命令不太可能遇到冲突的情况,不过,如果你确实遇到了kill命令行为异常时,你可以明确的指定/bin/kill命令。
  你一定要进一步查阅下面的资源中列出的参考资源来了解Linux中kill的妙用,因为这是你进入维护Linux系统领域的门票。这些知识能够让你像做外科手术一样对系统进行维护,而不用在遇到问题时每一次都重新启动系统,就像我们知道的某些蹩脚的
操作系统那样。
  资源
  Linux Cookbook一书的第七章“开始和终止Linux”
  bash (1) - GNU Bourne-Again Shell
  yes (1) - 在被终止前反复打印字符
  signal (7) - 可用信号列表
  ps (1) - 报告当前进程的快照
  kill (1) - 向一个进程发出信号
  killall (1) - 按名字消灭进程
  pkill (1) - 根据名字和其它属性查看或者发出进程信号
  skill (1) - 发送一个信号或者报告进程状态
  xkill (1) - 按照X资源消灭一个客户程序
------------------
chkconfig:
    chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。

语法:
    chkconfig –list [name]
    chkconfig –add name
    chkconfig –del name
    chkconfig [--level levels] name <on|off|reset>
    chkconfig [--level levels] name

    chkconfig 没有参数运行时,显示用法。如果加上服务名,那么就检查这个服务是否在当前运行级启动。如果是,返回true,否则返回false。如果在服务名后面指定了on,off或者reset,那么chkconfi 会改变指定服务的启动信息。on和off分别指服务被启动和停止,reset指重置服务的启动信息,无论有问题的初始化脚本指定了什么。on和off开关,系统默认只对运行级3,4,5有效,但是reset可以对所有运行级有效。
    –level选项可以指定要查看的运行级而不一定是当前运行级。
    需要说明的是,对于每个运行级,只能有一个启动脚本或者停止脚本。当切换运行级时,init不会重新启动已经启动的服务,也不会再次去停止已经停止的服务。

想列出系统所有的服务启动情况: 显示所有运行级系统服务的运行状态信息(on或off)。如果指定了name,那么只显示指定的服务在不同运行级的状态。
         # chkconfig –list

想列出mysqld服务设置情况:
#chkconfig –list mysqld

设定mysqld在等级3和5为开机运行服务:
# chkconfig –level 35 mysqld on

–level 35表示操作只在等级3和5执行

on表示启动,off表示关闭

设定mysqld在各等级为on:
# chkconfig mysqld on

“各等级”包括2、3、4、5等级

系统运行级别有0—6,就在/etc/inittab中的0-6

等级0表示:表示关机
等级1表示:单用户模式

等级2表示:无网络连接的多用户命令行模式

等级3表示:有网络连接的多用户命令行模式

等级4表示:不可用

等级5表示:带图形界面的多用户模式

等级6表示:重新启动

如何增加一个服务:
首先,服务脚本必须存放在/etc/ini.d/目录下;

其次,需要用chkconfig –add servicename来在chkconfig工具服务列表中增加此服务,此时服务会被在/etc/rc.d/rcN.d中赋予K/S入口了。

最后,你就可以上面教的方法修改服务的默认启动等级了。

删除一个服务:
# chkconfig –del servicename

------------
linux系统查看所有服务的命令

以前用过这么命令运行后可以在linux系统查看所有服务的命令是什么,有一个文本菜单,可以很方面的选择启动或者停止服务,诸如ftp, ssh, telnet之类的但是我忘了那个命令叫什么了,记得好像是sysconfig,但是现在系统里没有这个命令。
这个命令就是“chkconfig --list”,下面我们以查询linux的httpd服务为例,做下面的详细介绍:
##查看服务在每个级别的运行状态
chkconfig --list
httpd           0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:启用  6:关闭
bluetooth       0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:关闭  6:关闭

#停止 HTTPD服务  www.2cto.com 
[root@zhangxx etc]# service httpd stop
停止 httpd:[  确定  ]
#启动httpd服务
[root@zhangxx etc]# service httpd start
启动 httpd:[  确定  ]
#重起HTTD服务
[root@zhangxx etc]# service httpd restart
停止 httpd:[  确定  ]
启动 httpd:[  确定  ]
#让httpd 在机器启动的时候在运行级别上停止
[root@zhangxx etc]# chkconfig --level 345 httpd off
[root@zhangxx etc]# chkconfig --list |grep httpd
httpd           0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:关闭  6:关闭
#让httpd 在机器启动的时候在运行级别上启动  www.2cto.com 
[root@zhangxx etc]# chkconfig --level 345 httpd on
[root@zhangxx etc]# chkconfig --list |grep httpd
httpd           0:关闭  1:关闭  2:关闭  3:启用  4:启用  5:启用  6:关闭
[root@zhangxx etc]#

猜你喜欢

转载自zqs520.iteye.com/blog/1511253