美文网首页
linux的常用命令

linux的常用命令

作者: 约落小宫山 | 来源:发表于2016-09-17 10:02 被阅读0次

    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命令是一个东西

    [root@linuxso.com~]#type -a hwclock

    hwclock is /sbin/hwclock

    hwclock is /usr/sbin/hwclock

    [root@linuxso.com~]#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

    [root@linuxso.com~]#type -a clock

    clock is /sbin/clock

    [root@linuxso.com~]#ls -l /sbin/clock

    lrwxrwxrwx 1 root root 7 08-13 00:14 /sbin/clock -> hwclock

    [root@linuxso.com~]#

    示例二 显示硬件时钟

    [root@linuxso.com~]#hwclock

    2010年11月06日 星期六 21时09分28秒  -0.134840 seconds

    [root@linuxso.com~]#hwclock -r

    2010年11月06日 星期六 21时09分33秒  -0.469123 seconds

    [root@linuxso.com~]#hwclock --show

    2010年11月06日 星期六 21时09分45秒  -0.127548 seconds

    [root@linuxso.com~]#

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

    [root@linuxso.com~]#date

    2010年 11月 06日 星期六 21:11:57 CST

    [root@linuxso.com~]#date 11062112<== 格式 mmddHHMM,即 月日时分

    2010年 11月 06日 星期六 21:12:00 CST

    [root@linuxso.com~]#hwclock -w

    [root@linuxso.com~]#hwclock

    2010年11月06日 星期六 21时12分13秒  -0.648818 seconds

    [root@linuxso.com~]#

    注:要使系统时间准确,最好还是使用ntp方式

    示例四 使用ntpdate命令从网络同步时间,再同步到硬件时钟

    ntpdate命令是使用NTP协议来从网络同步时间的命令。NTP=Network Time Protocol网络时间协议。

    [root@linuxso.com~]#ntpdate 0.rhel.pool.ntp.org

    6 Nov 21:17:55 ntpdate[4829]: step time server 123.146.124.28 offset -1.025258 sec

    [root@linuxso.com~]#date

    2010年 11月 06日 星期六 21:17:59 CST

    [root@linuxso.com~]#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的常用命令

          本文链接:https://www.haomeiwen.com/subject/xtniettx.html