Linux命令
(命令的选项说明对命令的要求,
命令的参数是命令操作的对象,
选项和参数可有可无,即选项和参数并非必须。)
ifconfig
ifconfig是linux中用于显示或配置网络设备(网络接口卡)的命令,英文全称是network interfaces configuring
echo
echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。
该命令的一般格式为: echo [ -n ] 字符串
其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。
功能说明:显示文字。
语 法:echo [-ne][字符串]或 echo [--help][--version]
补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。
如果增加了>和>>输出重定向就有了新的作用
例如:echo wz > /tmp/1.txt
wz这个字符串就会被输入到1.txt
再例如:echo wzz>> /tmp/1.txt
注意:wzz这个字符串就会被追加到wz下面一行,如果wzz也用>则会覆盖wz字符串
tty
tty [选项]...
[功能]打印连接到标准输入的终端的文件名。
[描述]
命令项:
-s, --silent, --quiet: 什么也不打印,只是返回退出状态码。
--help: 打印帮助信息。
--version: 打印版本信息并退出。
返回的状态码:
0 表示标准输入是一个终端。
1 表示标准输入不是一个终端。
2 表示给定的参数是不正确的参数。
3 表示发生了写错误。
[举例]
*查看当前的标准终端文件描述符号:
[quietheart@lv-k etc]$ tty
/dev/pts/6
这里,输入tty之后,输出"/dev/pts/6"就是当前连接的终端对应的文件描述符号,我们可以通过向这个文件,这样会看到当前终端会输出我们写入的数据,例如:
[quietheart@lv-k etc]$ echo "mytest" >/dev/pts/6
mytest
可见,向/dev/pts/6文件写入的内容,直接显示到我们的终端上面了。如果我在机器上面开了多个终端,然后我在别的终端中输入上面的echo命令,那么将会看到对应"/dev/pts/6"的终端上面会显示相应的字符了。
*运行tty什么也不输出,然后查看其退出码:
[quietheart@lv-k etc]$ tty -s
[quietheart@lv-k etc]$ echo $?
0
这里,使用shell的命令"echo $?"来显示上一条命令的退出状态码。状态码的含义如下:
0 表示标准输入是一个终端。
1 表示标准输入不是一个终端。
2 表示给定的参数是不正确的参数。
3 表示发生了写错误。
[其它]
*基本概念:
1,tty(终端设备的统称):
tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫终端比较合适。终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。
2,pty(虚拟终端):
如果我们远程telnet到主机或使用xterm时,也需要一个终端交互,这就是虚拟终端pty(pseudo-tty)
3,pts/ptmx(pts/ptmx结合使用,进而实现pty):
pts(pseudo-terminal slave)是pty的实现方法,与ptmx(pseudo-terminal master)配合使用实现pty。
startx
功能说明:启动X Window。
语法:startx [程序][--服务器设置]
补充说明:startx为启动X Window的script文件,实际上启动X Window的程序为xinit。
参数:
[程序] 此处所指定的[程序]为X Window所要执行程序的配置文件。
[--服务器设置] startx预设会去读取.xerverrc中的配置,决定启动X Window的方式。
以上就是Linux系统startx命令的功能和使用方法了,用startx命令启动X Window后就可以在一个窗口中运行多个程序了。
export
功能说明:设置或显示环境变量。(比如我们要用一个命令,但这个命令的执行文件不在当前目录,这样我们每次用的时候必须指定执行文件的目录,麻烦,在代码中先执行export,这个相当于告诉程序,执行某某东西时,需要的文件或什么东东在这些目录里)
语 法:export [-fnp][变量名称]=[变量设置值]
补充说明:在shell中执行程序时,shell会提供一组环境变量。 export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该此登陆操作。
参 数:
-f 代表[变量名称]中为函数名称。
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p 列出所有的shell赋予程序的环境变量。
一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执行时,它不会自动得到原为脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本。
pwd
Linux中用pwd命令来查看”当前工作目录“的完整路径。 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录。
在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置。
1.命令格式:
pwd[选项]
2.命令功能:
查看”当前工作目录“的完整路径
3.常用参数:
一般情况下不带任何参数
如果目录是链接时:
格式:pwd -P显示出实际路径,而非使用连接(link)路径。
4.常用实例:
实例1:用 pwd 命令查看默认工作目录的完整路径
命令:
pwd
输出:
[root@localhost ~]#pwd
/root
[root@localhost ~]#
实例2:使用 pwd 命令查看指定文件夹
命令:
pwd
输出:
[root@localhost ~]#cd /opt/soft/
[root@localhost soft]#pwd
/opt/soft
[root@localhost soft]#
实例三:目录连接链接时,pwd -P显示出实际路径,而非使用连接(link)路径;pwd显示的是连接路径
命令:
pwd -P
输出:
[root@localhost soft]#cd /etc/init.d
[root@localhost init.d]#pwd
/etc/init.d
[root@localhost init.d]#pwd -P
/etc/rc.d/init.d
[root@localhost init.d]#
实例4:/bin/pwd
命令:
/bin/pwd [选项]
选项:
-L目录连接链接时,输出连接路径
-P输出物理路径
输出:
[root@localhost init.d]#/bin/pwd
/etc/rc.d/init.d
[root@localhost init.d]#/bin/pwd --help
[root@localhost init.d]#/bin/pwd -P
/etc/rc.d/init.d
[root@localhost init.d]#/bin/pwd -L
/etc/init.d
[root@localhost init.d]#
实例五:当前目录被删除了,而pwd命令仍然显示那个目录
输出:
[root@localhost init.d]#cd /opt/soft
[root@localhost soft]#mkdir removed
[root@localhost soft]#cd removed/
[root@localhost removed]#pwd
/opt/soft/removed
[root@localhost removed]#rm ../removed -rf
[root@localhost removed]#pwd
/opt/soft/removed
[root@localhost removed]#/bin/pwd
/bin/pwd: couldn't find directory entryin“..”with matching i-node
[root@localhost removed]#cd
[root@localhost ~]#pwd
/root
History
Linux下History命令主要用于显示历史指令记录内容, 下达历史纪录中的指令 。
>History命令语法:
[www.linuxidc.com@linux]# history [n]
[www.linuxidc.com@linux]# history [-c]
[www.linuxidc.com@linux]# history [-raw] histfiles
参数:
n :数字,要列出最近的 n 笔命令列表
-c :将目前的shell中的所有 history 内容全部消除
-a :将目前新增的history 指令新增入 histfiles 中,若没有加 histfiles,则预设写入 ~/.bash_history
-r :将 histfiles 的内容读到目前这个 shell 的 history 记忆中
-w :将目前的 history 记忆内容写入 histfiles。Linux系统当你在shell(控制台)中输入并执行命令时,shell会自动把你的命令记录到历史列表中,一般保存在用户目录下的.bash_history文件中。默认保存1000条,你也可以更改这个值。如果你键入 history, history会向你显示你所使用的前1000个历史命令,并且给它们编了号,你会看到一个用数字编号的列表快速从屏幕上卷过。你可能不需要查看1000个命令中的所有项目, 当然你也可以加入数字来列出最近的 n 笔命令列表。linux中history命令不仅仅让我们可以查询历史命令而已. 我们还可以利用相关的功能来帮我们执行命令。运行特定的历史命令history会列出bash保存的所有历史命令,并且给它们编了号,我们可以使用“叹号接编号”的方式运行特定的历史命令.
语法说明:
[www.linuxidc.com@linux]# [!number] [!command] [!!]
参数说明:
number :第几个指令的意思;
command :指令的开头几个字母
! :上一个指令的意思!
History命令实战
1.出所有的历史记录:
[www.linuxidc.com@linux] # history
2.只列出最近10条记录:
[www.linuxidc.com@linux] # history 10 (注,history和10中间有空格)
3.使用命令记录号码执行命令,执行历史清单中的第99条命令
[www.linuxidc.com@linux] #!99 (!和99中间没有空格)
4.重复执行上一个命令
[www.linuxidc.com@linux] #!!
5.执行最后一次以rpm开头的命令(!代表的是字符串,这个String可以随便输,Shell会从最后一条历史命令向前搜索,最先匹配的一条命令将会得到执行。)
[www.linuxidc.com@linux] #!rpm
6.逐屏列出所有的历史记录:
[www.linuxidc.com@linux]# history | more
7.立即清空history当前所有历史命令的记录
[www.linuxidc.com@linux] #history -c
shutdown
shutdown命令可以安全地关闭或重启Linux系统,它在系统关闭之前给系统上的所有登录用户提示一条警告信息。该命令还允许用户指定一个时间参数,可以是一个精确的时间,也可以是从现在开始的一个时间段。
精确时间的格式是hh:mm,表示小时和分钟,时间段由+ 和分钟数表示。系统执行该命令后会自动进行数据同步的工作。
该命令的一般格式
语 法:shutdown [-efFhknr][-t 秒数][时间][警告信息]
参 数:
-c 当执行"shutdown -h 11:50"指令时,只要按+键就可以中断关机的指令。
-f 重新启动时不执行fsck。
-F 重新启动时执行fsck。
-h 将系统关机。
-k 只是送出信息给所有用户,但不会实际关机。
-n 不调用init程序进行关机,而由shutdown自己进行。
-r shutdown之后重新启动。
-t<秒数> 送出警告信息和删除信息之间要延迟多少秒。
[时间] 设置多久时间后执行shutdown指令。
[警告信息] 要传送给所有登入用户的信息。
需要特别说明的是该命令只能由超级用户使用。
例1,系统在十分钟后关机并且马上重新启动
# shutdown –r +10
例2,系统马上关机并且不重新启动
# shutdown –h now
poweroff
poweroff命令用来关闭计算机操作系统并且切断系统电源。
语法 poweroff(选项)
选项 -n:关闭操作系统时不执行sync操作;
-w:不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中;
-d:关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录;
-f:强制关闭操作系统;
-i:关闭操作系统之前关闭所有的网络接口;
-h:关闭操作系统之前将系统中所有的硬件设置为备用模式。
实例 如果确认系统中已经没有用户存在且所有数据都已保存,需要立即关闭系统,可以使用poweroff命令
使用poweroff立即关闭系统: poweroff
Reboot
【语法】reboot[选项]
【详解】reboot指令用于重启该计算机。它的作用和shutdown -r now是一样的。
【选项】
选项相应功能
-n重启前保留当前数据。
-f强制重启计算机。
-w模拟重启,并将数据写入到“/var/log/wtmp”日志文件中。
-d重启,但不写入日志。
-i重启计算机前关闭网络。
hwclock
功能说明:显示与设定硬件时钟。
语 法:hwclock[--adjust][--debug][--directisa][--hctosys][--show][--systohc][--test]
[--utc][--version][--set--date=<日期与时间>]
补充说明:在Linux中有硬件时钟与系统时钟等两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的时钟。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。所有Linux相关指令与函数都是读取系统时钟的设定。
参 数:
--adjust hwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用--adjust参数,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟。
--debug 显示hwclock执行时详细的信息。
--directisa hwclock预设从/dev/rtc设备来存取硬件时钟。若无法存取时,可用此参数直接以I/O指令来存取硬件时钟。
--hctosys 将系统时钟调整为与目前的硬件时钟一致。
--set --date=<日期与时间> 设定硬件时钟。
--show 显示硬件时钟的时间与日期。
--systohc 将硬件时钟调整为与目前的系统时钟一致。
--test 仅测试程序,而不会实际更改硬件时钟。
--utc 若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作。
--version 显示版本信息。
使用示例
示例一 hwclock命令与clock命令是一个东西
[[email protected]~]#type -a hwclock
hwclock is /sbin/hwclock
hwclock is /usr/sbin/hwclock
[[email protected]~]#ls-l /sbin/hwclock /usr/sbin/hwclock
-rwxr-xr-x 1 root root 34096 2010-01-07 /sbin/hwclock
lrwxrwxrwx 1 root root 18 08-13 00:14 /usr/sbin/hwclock -> ../../sbin/hwclock
[[email protected]~]#type -a clock
clock is /sbin/clock
[[email protected]~]#ls -l /sbin/clock
lrwxrwxrwx 1 root root 7 08-13 00:14 /sbin/clock -> hwclock
示例二 显示硬件时钟
[[email protected]~]#hwclock
2010年11月06日 星期六 21时09分28秒 -0.134840 seconds
[[email protected]~]#hwclock -r
2010年11月06日 星期六 21时09分33秒 -0.469123 seconds
[[email protected]~]#hwclock --show
2010年11月06日 星期六 21时09分45秒 -0.127548 seconds
示例三 修改日期并同步到硬件时钟
[[email protected]~]#date
2010年 11月 06日 星期六 21:11:57 CST
[[email protected]~]#date 11062112<== 格式 mmddHHMM,即 月日时分
2010年 11月 06日 星期六 21:12:00 CST
[[email protected]~]#hwclock -w
[[email protected]~]#hwclock
2010年11月06日 星期六 21时12分13秒 -0.648818 seconds
注:要使系统时间准确,最好还是使用ntp方式。
示例四 使用ntpdate命令从网络同步时间,再同步到硬件时钟
ntpdate命令是使用NTP协议来从网络同步时间的命令。NTP=Network Time Protocol网络时间协议。
[[email protected]~]#ntpdate 0.rhel.pool.ntp.org
6 Nov 21:17:55 ntpdate[4829]: step time server 123.146.124.28 offset -1.025258 sec
[[email protected]~]#date
2010年 11月 06日 星期六 21:17:59 CST
[[email protected]~]#hwclock -w
date
使用方式 : date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]
说明 : date 可以用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中可用的标记列表如下 :
时间方面 :
% : 印出
% %n : 下一行
%t : 跳格
%H : 小时(00..23)
%I : 小时(01..12)
%k : 小时(0..23)
%l : 小时(1..12)
%M : 分钟(00..59)
%p : 显示本地 AM 或 PM
%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)
%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数 %S : 秒(00..61)
%T : 直接显示时间 (24 小时制)
%X : 相当于 %H:%M:%S
%Z : 显示时区
日期方面 :
%a : 星期几 (Sun..Sat)
%A : 星期几 (Sunday..Saturday)
%b : 月份 (Jan..Dec)
%B : 月份 (January..December)
%c : 直接显示日期与时间
%d : 日 (01..31)
%D : 直接显示日期 (mm/dd/yy)
%h : 同 %b
%j : 一年中的第几天 (001..366)
%m : 月份 (01..12)
%U : 一年中的第几周 (00..53) (以 Sunday 为一周的第一天的情形)
%w : 一周中的第几天 (0..6)
%W : 一年中的第几周 (00..53) (以 Monday 为一周的第一天的情形)
%x : 直接显示日期 (mm/dd/yy)
%y : 年份的最后两位数字 (00.99)
%Y : 完整年份 (0000..9999)
若是不以加号作为开头,则表示要设定时间,而时间格式为 MMDDhhmm[[CC]YY][.ss],
其中 MM 为月份,
DD 为日,
hh 为小时,
mm 为分钟,
CC 为年份前两位数字,
YY 为年份后两位数字,
ss 为秒数
把计 :
-d datestr : 显示 datestr 中所设定的时间 (非系统时间)
–help : 显示辅助讯息
-s datestr : 将系统时间设为 datestr 中所设定的时间
-u : 显示目前的格林威治时间
–version : 显示版本编号
例子 :
显示时间后跳行,再显示目前日期 : date +%T%n%D
显示月份与日数 : date +%B %d
显示日期与设定时间(12:34:56) : date –date 12:34:56
注意 : 当你不希望出现无意义的 0 时(比如说 1999/03/07),则可以在标记中插入 – 符号,比如说 date +%-H:%-M:%-S 会把时分秒中无意义的 0 给去掉,像是原本的 08:09:04 会变为 8:9:4。另外,只有取得权限者(比如说 root)才能设定系统时间。 当你以 root 身分更改了系统时间之后,请记得以 clock -w 来将系统时间写入 CMOS 中,这样下次重新开机时系统时间才会持续抱持最新的正确值。
创建以当前时间为文件名的
mkdir `date +%Y%m%d`
备份以时间做为文件名的
tar cvf ./htdocs`date +%Y%m%d`.tar ./*
date命令如何获得上星期的日期?
lastmonth=`date +%Y-%m --date="-1 month"`"-01";
然后 awk -v 作为一个参数这样传进去简单点。
#date -d "-1 week" "+%Y%m%d %A"
举一反三:date命令获得前天,昨天,明天,后天,上个月,下个月的日期
date -d "-2 day" "+%Y%m%d %A" 或 date --date="2 days ago" "+%Y%m%d %A"
date -d "-1 day" "+%Y%m%d %A" 或 date --date="1 day ago" "+%Y%m%d %A"
date -d "1 day" "+%Y%m%d %A"
date -d "2 day" "+%Y%m%d %A"
date -d "-1 month" "+%Y%m%d %A"
date -d "1 month" "+%Y%m%d %A"
echo `date -d "-1 month" "+%Y-%m-%d %X"`
还有其他用法:
date +%s 可以得到UNIX的时间戳;