linux的常用命令

Linux命令


linux的常用命令_第1张图片


linux的常用命令_第2张图片

(命令的选项说明对命令的要求,

命令的参数是命令操作的对象,

选项和参数可有可无,即选项和参数并非必须。)

ifconfig

ifconfig是linux中用于显示或配置网络设备(网络接口卡)的命令,英文全称是network interfaces configuring


linux的常用命令_第3张图片

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]~]#

示例二 显示硬件时钟

[[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]~]#

示例三 修改日期并同步到硬件时钟

[[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

[[email protected]~]#

注:要使系统时间准确,最好还是使用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的时间戳;

你可能感兴趣的:(linux的常用命令)