Linux命令笔记

来源:互联网 发布:grace出血评分软件 编辑:程序博客网 时间:2024/05/17 04:57

date命令,显示当前系统的时间和日期

date

cal命令,显示当月的日历
cal


df命令,查看磁盘驱动器当前的可用空间

df

free命令,显示可用内存

free

exit命令,关闭会话终端

exit

pwd命令,查看当前工作目录

pwd


cd命令,改变目录
cd dir# 将工作目录改变成dircd# 将工作目录改变成主目录cd -# 将工作目录改变成先前的工作目录cd ~user# 将工作目录改变为user的主目录

ls命令,列出目录内容
ls# 列出当前工作目录的内容ls dir# 列出目录dir的内容ls dir1 dir2# 列出多个目录的内容ls -a# 列出当前工作目录的所有内容,包括隐藏目录ls -l# 长格式列出当前工作目录的内容
ls命令其他常用选项:
-d# 列出目录本身-h# 长格式列出,以人们可读的方式而不是字节数显示文件大小-r# 以相反的顺序显示结果。通常,ls命令按照字母升序排列显示结果-S# 按文件大小对结果排序-t# 按修改时间排序-i# 列出目录内容及其索引编号

file命令,确定文件类型

file filename

less命令,查看文本文件内容

less filename

cp命令,复制文件和目录

cp item1 item2# 将单个文件或目录item1复制到文件或目录item2中cp item… dir# 将多个项目(文件或目录)复制进一个目录中
cp命令常用选项:
-a# 复制文件和目录及其属性,包括所有权和权限。-i# 在覆盖一个已存在的文件前,提示用户进行确认。默认cp会覆盖文件。-r# 递归地复制目录及其内容。-v# 复制文件时,线索信息行消息。


mv命令,移动或重命名文件和目录

mv item1 item2# 将文件(或目录)item1移动到(或重命名为)item2mv item… dir# 将一个或多个条目移动到另一个目录下。
mv命令常用选项:
-i# 在覆盖一个已存在的文件前,提示用户进行确认。默认mv会覆盖文件。-v# 移动文件时,线索信息行消息。

mkdir命令,创建目录

mkdir dirmkdir dir1 dir2# 创建多个目录

rm命令,移除文件和目录

rm item…
rm命令常用选项:

-i# 删除一个已存在的文件前,提示用户确认。-r# 递归地删除目录。-f# 忽略不存在的文件并无需提示确认。该选项会覆盖i选项-v# 删除文件时显示信息性消息

ln命令,创建硬链接和符号链接
ln filename linkname# 创建硬链接ln -s filename linkname# 创建符号链接

type命令,显示命令类型

type command
例:

type ls

which命令,显示可执行命令的位置
which program
例:

which cp

man命令,显示程序的手册页
man search_item_man section search_item
例:
man cpman 5 passwd

man命令显示的“手册文档”被分成多个部分(section),它不仅包括用户命令,也包括系统命令、程序接口、文件格式等。下表描述来手册文档的结构安排。

部分内容1用户命令2内核系统调用的程序接口3C库函数程序接口4特殊文件,如设备节点和驱动程序5文件格式6游戏和娱乐,例如屏幕保护程序7其他杂项8系统管理命令









apropos命令,显示一系列合适的命令

apropos命令与带k选项的man命令在功能上基本一致


info命令,显示命令的info条目

info command
例:
info ls

whatis命令,显示命令的简述

whatis command
例:
whatis ls

alias命令,使用别名创建自己的命令

alias name='string'
例:

alias foo='cd /usr; ls; cd -'
删除别名:
unalias foo

标准输出重定向
># 覆盖目标文件内容>># 在目标文件尾部追加输出内容
例:
ls -l /usr/bin > ls-output.txt> empty.txtls -l /usr/bin >> ls-output.txt

标准错误重定向
2># 覆盖目标文件内容2>># 在目标文件尾部追加输出内容
例:
ls inexistent_dir 2> ls-error.txtls inexistent_dir 2>> ls-error.txt

将标准输出和标准错误重定向到同一个文件
&># 覆盖目标文件内容&>># 在目标文件尾部追加输出内容
例:
ls inexistent_dir &> ls-output.txtls inexistent_dir &>> ls-output.txt

标准输入重定向
<
例:
cat < tmp.txt

cat命令,读取一个或多个文件,并将其复制到标注输出
cat [file…]
例:
cat f.txtcat f1.txt f2.txt > tmpf.txtcat > tmpf.txt# 在文件名参数缺省的情况下,cat将把标准输入内容复制到标准输出中

管道
command1 | command2
例:
date | catls | sort | less

sort命令,对文本行排序
sort file
sort命令常用选项:
-u# 在输出行中去除重复行-r# 按降序的方式排序,默认算升序的放松-o [file]# 将排序结果输出到指定文件,可以是原文件    -f# 排序时将小写字母视为大写字母-n# 以数值的方式排序-b# 排序时忽略每行前面开始处的空格字符

uniq命令,报告或删除文件中重复的行

wc命令,打印文件中的换行符、单词和字节的个数
wc file…
wc命令常用选项:
-l# 打印文件的换行符的个数-w# 打印文件的单词的个数-c# 打印文件的字节的数-m# 打印文件的字符的数

grep命令,打印匹配行
grep pattern [file…]
例:
grep zip f1.txt f2.txtls | grep zip

head命令,输出文件的第一部分内容
head file
head命令常用选项:
-n调整输出的行数,默认是10行
例:
head tmp.txthead -n 5 tmp.txt


tail命令,输出文件的最后一部分内容

tail file
tail命令常用选项:
-n# 调整输出的行数,默认是10行-f# 持续监视文件,一旦添加新行,新行将会立即显示在屏幕上,按Ctrl-C后停止;这选项对观察日志文件很有用处。

tee命令,读取标准输入的数据,并将其内容输出到标准输出和文件中。
tee file…
例:
ls | tee f1.txt

clear命令,清屏
clear


history命令,显示历史命令列表的记录
history

id命令,显示用户身份标识
id# 显示当前用户的身份标识id ~user# 显示用户user的身份标识

chmod命令,更改文件的模式
chmod mode file
例:
chmod 764 tmp.txt# 将文件的模式设置为600,即rwxrw-r--chmod ug+x tmp.py# 为文件所有者添加可执行权限chmod u-x tmp.py# 删除文件所有者的可执行权限chmod +x tmp.py# 为文件所有者、所属群组和其他书友用户添加可执行权限,等价于a+xchmod o-rw tmp.py# 除了文件所有者和所属群组之外,删除其他所有用户的读写权限chmod go=rw tmp.txt# 如果文件所有者之外,设置所属群组和其他所有用户具有读写权限,并删除其可执行权限,如果有的话。chmod u+x,go=rx tmp.py# 为文件所有者添加可执行权限,同时设置所属群组和其他所有用户具有读权限和可执行权限。

umask命令,设置文件的默认权限

umask# 获取当前掩码值umask num# 设置掩码值
例:
umask 0022 

su命令,以另一个用户的身份运行shell
su [-[l]] [user]
如果包含“-l”选项,那么得到的shell会话界面将是指定用户的登录shell界面。这就意味着,该指定用户的运行环境将被加载,而且工作目录也将改为指定用户的主目录。这也常常是我们想要得到的结果。如果没有指定用户,那么默认为超级用户。-l可以缩写为-,这一形式经常被使用。
在输入su命令后,系统会提示输入指定用户的密码,如果密码正确则进入指定用户的shell环境,就可以以指定用户的身份执行命令来了。使用结束时,输入exit,将返回到之前的shell环境。

例:

su -su - huey

sudo命令,以另一个用户的身份来执行命令
sudo command
例:
sudo shutdown -h now# 以超级用户的身份执行关机命令

chown命令,更改文件的所有者
chown [ower][:group] file…
chown命令参数实例:
参数结果huey把文件所有者从当前所有者更改为用户hueyhuey:users把文件所有者从但却所有者更改为用户huey,并把文件所属群组更改为users组:admins把文件所属群组更改为admins组,文件所有者不变huey:把文件所有者从但却所有者更改为用户huey,并把文件所属群组更改为用户huey登录系统时所属的组
passwd命令,更改用户密码
passwd# 修改当前用户的密码sudo passwd user# 修改用户user的密码

ps命令,显示当前所有进程的运行情况
ps# 显示当前终端控制的进程的信息
运行结果:
  PID TTY          TIME CMD 5694 pts/1    00:00:00 bash10821 pts/1    00:00:00 ps

ps x# 显示所有的进程的信息而不关注是由哪个终端所控制的。
运行结果:
  PID TTY      STAT   TIME COMMAND 1946 ?        Sl     0:00 /usr/bin/gnome-keyring-daemon --daemonize --login 1957 ?        Ssl    0:00 gnome-session --session=ubuntu 1988 ?        Z      0:00 [lightdm-session] <defunct> 1996 ?        Ss     0:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-s 1999 ?        S      0:00 /usr/bin/dbus-launch --exit-with-session gnome-sessio 2034 ?        S      0:19 syndaemon -i 2.0 -K -R -t 2039 ?        S<l   16:23 /usr/bin/pulseaudio --start --log-target=syslog 2058 ?        Sl     0:16 nm-applet 2739 ?        Rl     0:25 gnome-terminal 2746 ?        S      0:00 gnome-pty-helper 5694 pts/1    Ss     0:00 bash 5982 ?        Sl    37:16 /usr/lib/firefox/firefox 6258 ?        Sl     0:00 /usr/lib/evince/evinced 6622 ?        Rl   202:51 /usr/lib/firefox/plugin-container /usr/lib/flashplugi10731 pts/0    Ss+    0:00 bash10845 pts/1    R+     0:00 ps x...

ps aux# 显示属于每个用户的进程信息
运行结果:
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMANDroot         1  0.0  0.0   3660  2036 ?        Ss   08:01   0:00 /sbin/initroot         2  0.0  0.0      0     0 ?        S    08:01   0:00 [kthreadd]root        12  0.0  0.0      0     0 ?        S<   08:01   0:00 [cpuset]root        27  0.0  0.0      0     0 ?        SN   08:01   0:00 [ksmd]root       561  0.0  0.0   3368  1308 ?        S    08:01   0:00 /sbin/udevd --droot       562  0.0  0.0   3384  1236 ?        S    08:01   0:00 /sbin/udevd --dsyslog     784  0.0  0.0  31064  1468 ?        Sl   08:01   0:03 rsyslogd -c5avahi      948  0.0  0.0   3456  1488 ?        S    08:01   0:00 avahi-daemon: ravahi      949  0.0  0.0   3456   432 ?        S    08:01   0:00 avahi-daemon: croot       957  0.0  0.0      0     0 ?        S<   08:01   0:00 [krfcommd]root       986  0.0  0.0   4632   872 tty4     Ss+  08:01   0:00 /sbin/getty -8root       990  0.0  0.0   4632   860 tty5     Ss+  08:01   0:00 /sbin/getty -8daemon    1013  0.0  0.0   2472   348 ?        Ss   08:01   0:00 atdroot      1031  0.0  0.0  34040  3128 ?        Ssl  08:01   0:00 lightdmwhoopsie  1077  0.0  0.1  26016  4532 ?        Ssl  08:01   0:00 whoopsieroot      1078  3.5  9.6 297660 383584 tty7    Ss+  08:01  26:35 /usr/bin/X :0 -mysql     1220  0.0  0.8 318728 33808 ?        Ssl  08:01   0:13 /usr/sbin/mysqlroot      1250  0.0  0.0   6088  2196 ?        Ss   08:01   0:02 /sbin/wpa_supplnobody    1415  0.0  0.0   6832  1400 ?        S    08:01   0:00 /usr/sbin/dnsmacolord    1813  0.0  0.2  53588 10468 ?        Sl   08:01   0:00 /usr/lib/i386-lroot      1838  0.0  0.0  16460  3260 ?        Sl   08:01   0:00 lightdm --sessirtkit     1870  0.0  0.0  21336  1248 ?        SNl  08:01   0:00 /usr/lib/rtkit/lp        3013  0.0  0.0   6228  1380 ?        S    08:13   0:00 /usr/lib/cups/nhuey      5694  0.0  0.1   9208  4148 pts/1    Ss   08:21   0:00 bashhuey      6622 34.2  2.2 429188 90920 ?        Sl   10:24 205:49 /usr/lib/fireforoot      6765  0.0  0.0   3316  1168 ?        Ss   10:59   0:00 /sbin/mount.ntfhuey     10731  0.0  0.0   9140  3924 pts/0    Ss+  20:09   0:00 bashhuey     10913  0.0  0.0   6368  1164 pts/1    R+   20:26   0:00 ps aux...
列标题含义:
USER:用户ID,表示该进程的所有者
PID:表示进程ID
%CPU:CPU使用百分比
%MEM:内存使用百分比
VSZ:虚拟耗用内存大小
RSS:实际使用的内存大小。进程使用的物理内存(RAM)大小(以KB为单位)
TTY:代表来进程的控制终端,问号表示没有终端控制
STAT:表示进程的当前状态
START:进程开启的时间。如果超过24个小时,那么将使用日期来显示
TIME:表示进程消耗的CPU时间总和

进程状态含义:
R    运行状态。进程正在运行或准备运行
S    睡眠状态。进程不在运行,而是在等待某事件的发生,如键盘输入或者收到网络报文
D    不可中断的睡眠状态,进程在等待I/O操作,如硬盘驱动
T    暂停状态。进程被指示暂停(后续还可以继续运行)
Z    无效或者“僵尸”进程。子进程被终止,但是还没有被父进程彻底释放掉
<    高优先级进程。进程可以被赋予更多的重要性,分配更多的CPU时间。
N    低优先级进程。

top命令,实时显示当前所有认为的资源占有情况

top

运行结果:

top - 20:49:15 up 12:48,  3 users,  load average: 0.92, 0.84, 0.79Tasks: 175 total,   2 running, 172 sleeping,   0 stopped,   1 zombieCpu(s): 26.7%us,  5.8%sy,  0.0%ni, 66.8%id,  0.7%wa,  0.0%hi,  0.0%si,  0.0%stMem:   3988160k total,  2354796k used,  1633364k free,   191804k buffersSwap:  2012156k total,        0k used,  2012156k free,   910072k cached  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND             6622 huey      20   0  419m  89m  28m R   34  2.3 213:59.78 plugin-containe     6251 huey      20   0  176m  73m  15m S   14  1.9   2:57.42 evince              1078 root      20   0  525m 370m 128m S    9  9.5  28:10.10 Xorg                2028 huey      20   0  282m 141m  40m S    6  3.6  10:00.86 compiz              2039 huey       9 -11  171m 5620 4028 S    2  0.1  17:01.82 pulseaudio          5982 huey      20   0  791m 291m  46m S    1  7.5  38:08.23 firefox             2034 huey      20   0  3712  800  664 S    0  0.0   0:20.58 syndaemon          11054 huey      20   0  2852 1184  892 R    0  0.0   0:00.20 top                    1 root      20   0  3660 2036 1288 S    0  0.1   0:00.66 init                   2 root      20   0     0    0    0 S    0  0.0   0:00.01 kthreadd               3 root      20   0     0    0    0 S    0  0.0   0:02.55 ksoftirqd/0            6 root      RT   0     0    0    0 S    0  0.0   0:01.97 migration/0            7 root      RT   0     0    0    0 S    0  0.0   0:00.17 watchdog/0             8 root      RT   0     0    0    0 S    0  0.0   0:02.23 migration/1           10 root      20   0     0    0    0 S    0  0.0   0:02.10 ksoftirqd/1           11 root      RT   0     0    0    0 S    0  0.0   0:00.19 watchdog/1            12 root       0 -20     0    0    0 S    0  0.0   0:00.00 cpuset            ...


顶部信息的字段释义:
行字段含义1top程序名 20:49:15一天中的当前时间 up 12:48正常运行时间(uptime)。从机器最后一次启动开始计算的时间总数。 3 users有3个用户已登录 load average:负载均值(load average)指的是等待运行的进程数;即共享CPU资源的处于可运行状态的进程数。显示的三个值分别对应不同的时间段。第一个对应的是前60秒的均值,第二个对应的是前5分钟的均值,最后一个对应的前15分钟的均值。该均值小于1.0表算该机器并不忙2Tasks:统计进程数及各个进程的状态信息 26.7%us26.7%的CPU时间被用户进程占用,这里指的是处于内核外的进程 5.8%sy5.8%的CPU时间被系统进程(内核进程)占用 0.0%ni0.0%的CPU时间被友好进程(nice)(低优先级进程)占用 66.8%id66.8%的CPU时间是空闲的 0.7%wa0.7%的CPU时间用来等待I/O操作3Mem:显示物理RAM(随机存取内存)的使用情况4Swap:显示交换空间(虚拟内存)的使用情况





















job命令,列出所有活动作业的状态信息

jobs
启动一个简单的小程序xlogo作为实验对象:
xlogo
输入xlogo命令,启动xlogo程序,发现shell提示符没有返回,这是因为shell正在等待该xlogo程序结束,如果关闭xlogo窗口,那么提示符将返回。
在终端里按下Ctrl-C,将会中断一个程序,xlogo窗口将会关闭,shell提示符将返回。许多(但不是所有)命令行程序都可以使用这个方法来实现中断。
在后台运行程序:
xlogo &
命令执行后,将出现xlogo窗口,而且shell提示符也将返回,同时也会打印一些数字信息:
[1] 11203
这条信息是shell的一个称为作业控制(job control)的特性表现。表示已经启动的作业编号为1([1]),其对应的PID是11203。
执行ps命令,查看当前运行的进程:
huey@huey-K42JE:~$ ps
  PID TTY          TIME CMD 5694 pts/1    00:00:00 bash11203 pts/1    00:00:00 xlogo11204 pts/1    00:00:00 ps
使用job命令查看作业控制特性:
huey@huey-K42JE:~$ jobs
[1]+  运行中               xlogo &
输出结果显示存在一个编号为1的作业在运行,而且对应的命令是xlogo &。
后台运行的进程不会受到任何键盘输入的影响,包括试图中断它的Ctrl-C键。想要使得进程返回到前台运行,可以使用fg命令。
huey@huey-K42JE:~/huey/linux/tmpdir$ fg %1
xlogo
在fg命令后面加上百分号和作业编号(称为jobspec选项),如果后台只有一个任务,那么可以不带jobspec选项。
如果只是想要暂停进程,而不是终止进程。按Ctrl-Z键。
huey@huey-K42JE:~$ xlogo^Z[1]+  已停止               xlogo
暂停xlogo后,可以使用fg命令让进程在前台恢复运行,也可以使用bg命令让进程移到后台运行。

kill命令,发送信号给某个进程
kill [-signal] PID…
例:
kill 11565# 向PID为11565的进程发送TERM信息kill -1 11565# 向PID为11565的进程发送HUP信息kill -INT 11565# 向PID为11565的进程发送INT信息
常用信号:
信号编号信号名含义1HUP挂起信号2INT中断信号3QUIT退出信号9KILL杀死信号11SEGV段错误信号15TERM终止信号,kill命令默认发送的信号类型18CONT继续运行信号,恢复之前接受了STOP信号的进程19STOP暂停信号









注:

和文件一样,进程也有所有者,只有进程的所有者(或者超级用户)才能使用kill命令来给它放送信号。


killall命令,发送信号给多个进程

killall [- u user] [-signal] name…
例:
huey@huey-K42JE:~$ xlogo &
[1] 11565
huey@huey-K42JE:~$ xlogo &
[2] 11673
huey@huey-K42JE:~$ killall xlogo 
[1]-  已终止               xlogo[2]+  已终止               xlogo


shutdown命令,关机或是重启系统
shutdown命令常用选项:
-c# 取消前一个shutdown命令-h# 将系统关机-r# shutdown之后重新启动。
shutdown命令格式:
精确时间格式:hh:mm
时间段格式:+和分钟数
例:
# 指定现在立即关机shutdown -h now# 指定23:30时关机并马上重新启动系统shutdown -r 23:30# 指定10分钟后关机,并向所有所有登入用户传送信息shutdown -h +10 'System wiil shutdwon after 10 minutes!'



0 0
原创粉丝点击