linux命令格式及基础命令

linux命令格式及基础命令介绍

命令格式

command [options] [arguments]   
* command:命令   
* options  --单词      -单字   
* argument:参数(档案名称或其他)

基础命令介绍

  • ifconfig 用于显示或设置网络设备

语法

ifconfig [网络设备][down up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<网络设备类型><硬件地址>][io_addr<I/O地址>][irq<IRQ地址>][media<网络媒介类型>][mem_start<内存地址>][metric<数目>][mtu<字节>][netmask<子网掩码>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]

参数说明

  • add<地址> 设置网络设备IPv6的IP地址。
  • del<地址> 删除网络设备IPv6的IP地址。
  • down 关闭指定的网络设备。
  • hw<网络设备类型><硬件地址>设置网络设备的类型与硬件地址。
  • io_addr<I/O地址> 设置网络设备的I/O地址。
  • irq<IRQ地址> 设置网络设备的IRQ。
  • media<网络媒介类型> 设置网络设备的媒介类型。
  • mem_start<内存地址>设置网络设备在主内存所占用的起始地址。
  • metric<数目>指定在计算数据包的转送次数时,所要加上的数目。
  • mtu<字节> 设置网络设备的MTU。
  • netmask<子网掩码> 设置网络设备的子网掩码。
  • tunnel<地址> 建立IPv4与IPv6之间的隧道通信地址。
  • up 启动指定的网络设备。
  • -broadcast<地址>将要送往指定地址的数据包当成广播数据包来处理。
  • -pointopoint<地址>与指定地址的网络设备建立直接连线,此模式具有保密功能。
  • -promisc 关闭或启动指定网络设备的promiscuous模式。
  • [IP地址] 指定网络设备的IP地址。
  • [网络设备] 指定网络设备的名称。

示例

显示网络设备信息

[root@fox ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.31.98  netmask 255.255.255.0  broadcast 192.168.31.255
        inet6 fe80::4f57:d085:4595:1b79  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:82:83:d3  txqueuelen 1000  (Ethernet)
        RX packets 764  bytes 694100 (677.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 622  bytes 54201 (52.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 72  bytes 5728 (5.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 72  bytes 5728 (5.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:a1:74:c6  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

启动关闭指定网卡

[root@fox ~]# ifconfig ens33 up
[root@fox ~]# ifconfig ens33 down

配置IP地址

[root@fox ~]# ifconfig ens33 192.168.1.100 
//ens33网卡配置IP地址
[root@fox ~]# ifconfig ens33 192.168.1.100 netmask 255.255.255.0 
// ens33网卡配置IP地址,并加上子掩码
[root@fox ~]# ifconfig ens33 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
// ens33网卡配置IP地址,加上子掩码,加上个广播地址

启动,关闭ARP协议

[root@fox ~]# ifconfig ens33 arp  //开启
[root@fox ~]# ifconfig ens33 -arp  //关闭

设置最大传输单元

[root@fox ~]# ifconfig ens33 mtu 1500 
//设置能通过的最大数据包大小为 1500 bytes
  • echo 用于在shell中打印shell变量的值,或者直接输出指定的字符串

语法

echo [选项] [参数]

参数说明

  • -e 激活转义字符
    • \a 发出警告声;
    • \b 删除前一个字符;
    • \c 最后不加上换行符号;
    • \f 换行但光标仍旧停留在原来的位置;
    • \n 换行且光标移至行首;
    • \r 光标移至行首,但不换行;
    • \t 插入tab;
    • \v 与\f相同;
    • \ 插入\字符;
    • \nnn 插入nnn(八进制)所代表的ASCII字符;
  • tty用于显示终端机连接标准输入设备的文件名称

语法

tty [-s][--help][--version]

参数说明

  • -s或–silent或–quiet不显示任何信息,只回传状态代码。
  • –help 在线帮助。
  • –version 显示版本信息。

示例

[root@fox ~]# tty
/dev/pts/0
  • startx 用来启动X window

语法

startx (参数)
  • export 用于显示或设置环境变量

语法

export [-fnp][变量名称]=[变量设置值]

参数说明

  • -f  代表[变量名称]中为函数名称。
  • -n  删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
  • -p  列出所有的shell赋予程序的环境变量。

示例

列出所有的环境变量

[root@fox ~]# export -p
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="fox"
declare -x LANG="en_US.UTF-8"
declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"
declare -x LS_COLORS="rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:"
declare -x MAIL="/var/spool/mail/root"
declare -x OLDPWD
declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
declare -x PWD="/root"
declare -x SELINUX_LEVEL_REQUESTED=""
declare -x SELINUX_ROLE_REQUESTED=""
declare -x SELINUX_USE_CURRENT_RANGE=""
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_CLIENT="192.168.31.144 60684 22"
declare -x SSH_CONNECTION="192.168.31.144 60684 192.168.31.98 22"
declare -x SSH_TTY="/dev/pts/0"
declare -x TERM="xterm"
declare -x USER="root"
declare -x XDG_DATA_DIRS="/root/.local/share/flatpak/exports/share/:/var/lib/flatpak/exports/share/:/usr/local/share/:/usr/share/"
declare -x XDG_RUNTIME_DIR="/run/user/0"
declare -x XDG_SESSION_ID="1"

  • pwd 用于显示工作目录

语法

pwd [--help][--version]

参数说明

  • –help 在线帮助。
  • –version 显示版本信息。

示例

[root@fox ~]# pwd
/root

  • history 用于显示历史命令

语法

history [选项] [参数]

参数说明

  • -c:清空当前历史命令
  • -a:将历史命令缓冲区中命令写入历史命令文件中
  • -r:将历史命令文件中的命令读入当前历史命令缓冲区
  • -w:将当前历史命令缓冲区命令写入历史命令文件中

与history命令相关的几个环境变量
HISTFILE—-指定存放历史文件位置,默认位置在/.bash_profile(针对用户)、/etc/profile(针对全局,如果/.bash_profile内没有相关环境变量内容则使用全局变量设置) HISTFILESIZE—-命令历史文件记录历史的条数
HISTSIZE—-命令历史记录的条数,默认为1000 HISTTIMEFORMAT=”%F %T”—-显示命令发生的时间 HISTIGNORE=”str1:str2:…”—-忽略string1,string2历史 HISTCONTROL—-包含一下4项,让哪一项生效只需要让其=下面一项即可:
ignoredups: 忽略重复的命令;连续且相同方为“重复” ignorespace: 忽略所有以空白开头的命令 ignoreboth:ignoredups,ignorespace
erasedups: 删除重复命令

示例

显示最近10条历史命令

[root@fox ~]# history 10
   14  echo -e "\e[1;31mThis is red text\e[0m"
   15  startx
   16  yum update
   17  reboot
   18  ls
   19  man tty
   20  tty
   21  export -p
   22  pwd
   23  history 10

执行命令历史中的第18条命令

[root@fox ~]# !18
ls
anaconda-ks.cfg  Desktop  Documents  Downloads  initial-setup-ks.cfg  Music  Pictures  Public  Templates  Videos

  • shutdown 可以用来进行关机程序,并且在关机以前传送讯息给所有使用者正在执行的程序,shutdown也可以用来重开机。

语法

shutdown [-t seconds] [-rkhncfF] time [message]

参数说明

  • -t seconds : 设定在几秒钟之后进行关机程序
  • -k : 并不会真的关机,只是将警告讯息传送给所有只用者
  • -r : 关机后重新开机
  • -h : 关机后停机
  • -n : 不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自行关机
  • -c : 取消目前已经进行中的关机动作
  • -f : 关机时,不做 fcsk 动作(检查 Linux 档系统)
  • -F : 关机时,强迫进行 fsck 动作
  • time : 设定关机的时间
  • message : 传送给所有使用者的警告讯息

示例

立刻关机

[root@fox ~]# shutdown -h now

5分钟后关机

[root@fox ~]# shutdown +5 System will shutdown after 5 minutes
//5分钟够关机并显示警告信息
  • poweroff 用来关闭计算机操作系统并且切断系统电源

语法

poweroff (选项)

参数说明

  • -n:关闭操作系统时不执行sync操作
  • -w:不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中
  • -d:关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录
  • -f:强制关闭操作系统; -i:关闭操作系统之前关闭所有的网络接口
  • -h:关闭操作系统之前将系统中所有的硬件设置为备用模式
  • reboot 用于用来重新启动计算机

语法

reboot [-n] [-w] [-d] [-f] [-i]

参数说明

  • -n : 在重开机前不做将记忆体资料写回硬盘的动作
  • -w : 并不会真的重开机,只是把记录写到 /var/log/wtmp 档案里
  • -d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d)
  • -f : 强迫重开机,不呼叫 shutdown 这个指令
  • -i : 在重开机之前先把所有网络相关的装置先停止
  • hwclock 用于显示与设定硬件时钟

语法

hwclock [--adjust][--debug][--directisa][--hctosys][--show][--systohc][--test] [--utc][--version][--set --date=<日期与时间>]

参数说明

  • –adjust  hwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用–adjust参数,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟。
  • –debug  显示hwclock执行时详细的信息。
  • –directisa  hwclock预设从/dev/rtc设备来存取硬件时钟。若无法存取时,可用此参数直接以I/O指令来存取硬件时钟。
  • –hctosys  将系统时钟调整为与目前的硬件时钟一致。
  • –set –date=<日期与时间>  设定硬件时钟。
  • –show  显示硬件时钟的时间与日期。
  • –systohc  将硬件时钟调整为与目前的系统时钟一致。
  • –test  仅测试程序,而不会实际更改硬件时钟。
  • –utc  若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作。
  • –version  显示版本信息。

示例

显示当前时间

[root@fox ~]# hwclock
Sun 03 Dec 2017 05:25:46 PM CST  -0.537844 seconds

  • date 可以用来显示或设定系统的日期与时间

语法

date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]

参数说明

  • -d datestr : 显示 datestr 中所设定的时间 (非系统时间)
  • –help : 显示辅助讯息
  • -s datestr : 将系统时间设为 datestr 中所设定的时间
  • -u : 显示目前的格林威治时间
  • –version : 显示版本编号

格式设定

时间方面:

  • % : 印出 %
  • %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)

显示当前时间

[root@fox ~]# date
Sun Dec  3 17:37:49 CST 2017
[root@fox ~]# date '+%c'
Sun 03 Dec 2017 05:38:06 PM CST
[root@fox ~]# date '+%D'
12/03/17
[root@fox ~]# date '+%x'
12/03/2017
[root@fox ~]# date '+%X'
05:38:35 PM

linux获取帮助信息的方法

info

Linuxinfo格式的帮助指令

tab键

在命令行中可以帮助你补全和提示命令、文件、目录名称,即可以少记很多东西,也可以减少按键次数。

help

用于显示shell内部命令的帮助信息。help命令只能显示shell内部的命令帮助信息。而对于外部命令的帮助信息只能使用man或者info命令查看

-h 或–help

适用于外部命令,在命令后面加-h参数即可查看到帮助信息。

man

Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。
  • man的章节划分
1 - commands 是普通的命令
2 - system calls 是系统调用,open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
3 - library calls 是库函数,printf,fread
4 - special files 是特殊文件,也就是/dev下的各种设备文件
5 - file formats and convertions 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
6 - games for linux 是给游戏留的,由各个游戏自己定义
7 - macro packages and conventions 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
8 - system management commands 是系统管理用的命令,这些命令只能由root使用,ifconfig想要指定section就直接在man的后面加上数字
9 - 其他

linux发行版的基目录名称命名法则及公用规定

目录 公用规定
/bin 所有用户可用的基本命令程序文件
/sbin 供系统管理使用的工具程序
/boot 引导加载器必须用到的各静态文件:kernel,initramfs(initrd),grub等
/dev 存储特殊文件或设备文件:设备有两种类型:字符设备、块设备
/etc 系统程序的配置文件,只能为静态。
/home 普通的家目录的集中位置,一般每个普通用户的家目录默认为此目录下与用户名同名的子目录/home/yu
/lib 为系统启动或跟文件系统上的应用程序(/bin,/sbin等)提供共享库,以及为内核提供内核模块 libc.so.:动态链接C库:ld:运行时链接器和加载器;modules:用于存储内部模块的目录
/lib64 64位系统特有的存放64位共享库的路径;
/media 便携式设备挂载点:cdrom,floppy等;
/mnt 其它文件系统的临时挂载点;
/opt 附加应用程序的安装位置;可选路径;
/tmp 为那些会产生临时文件的程序提供的用于存储临时文件的目录;可供所用户执行写入操作;有特殊权限;
/usr usr Hierarchy:全局共享的只读数据路径;

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/89412

(0)
lingdulingdu
上一篇 2017-12-03
下一篇 2017-12-03

相关推荐

  • 关于Raid的各种类型特点概要

    关于Raid需要了解掌握的要点

    Linux干货 2017-11-26
  • OpenSSL 的使用

    OpenSSL 是一个开源项目,其组成主要包括一下三个组件:     openssl:多用途的命令行工具     libcrypto:加密算法库     libssl:加密模块应用库,实现了ssl及tls openssl可以实现:秘钥证书管…

    Linux干货 2017-06-07
  • rsyslog将日志记录于MySQL中,并用loganalyzer进行分析日志

    1、首先来安装lamp环境的支持,与其相关的软件包      # yum -y install rsyslog-mysql mariadb-server php php-mysql php-gd httpd       说明:rsyslog-mysql在数据库中生成一个库文件,但这个文件需…

    Linux干货 2013-09-03
  • linux进程和计划任务

    内核的功用:进程管理、文件系统、网络功能、内存管理、驱动程序、 安全功能等 进程管理:     系统优先级:数字越小,优先级越高    实时优先级: 99-0,值最大优先级最高    nice值:-20 到19 ,对应系统优先级100-139或99 Linux 内核:抢占式多任务  &nb…

    Linux干货 2017-03-23
  • inotify+rsync同步方案(ubuntu,适用其他发行版)

    系统:Ubuntu 16.04.1  工具:rsync 3.1.1 、inotify -tools 3.14      作者:jevtse    本文除了软件安装部分,其他内容同样适用其他linux系统;同步目标主机:172.16.250.…

    2017-03-05
  • sed vim小练

     1 、删除/etc/grub2.conf 文件中所有以空白开头的行行首的空白字符  2 、删除/etc/fstab文件中所有以#开头,后面至少跟一个空 白字符的行的行首的#和空白字符 3 、在/root/install.log 每一行行首增加# [root@localhost ~]# sed -n&nbsp…

    Linux干货 2016-08-12

评论列表(1条)

  • 马哥教育
    马哥教育 2017-12-16 12:24

    博客中的例子需要修改一下~~继续加油~