Linux基础之常用命令(二)

一、 Linux系统上命令通用格式为: COMMAND    [OPTIONS]    [ARGUMENTS] 命令     选项      参数

1.  命令

命令可分为两类:内置命令和外部命令

  • 内置命令:由shell自带的命令
  • 例如:cd,break,(un)alias,type,file,history,pwd……是系统在启动之初就已经调入到内存中,是常驻内存之中,执行效率高
  • 外部命令:独立的可执行文件,文件即命令;系统根据环境变量中的设置查找来执行。例如:ls、ifconfig、useradd

2. 选项

    指定命令的运行特性,有两种:

长选项:例如–size等

短选项:例如-l,-d等

3.  参数

    指定命令的作用对象,可同时有多个(多个存在时,参数之间必须用空白字符隔开)

4.  常用命令

ifconfig:配置网络命令

OPTIONS
            -a    显示所有可用网络接口状态信息
            -s    简单显示网络状态,类似netstat –i
            Interface 只显示$interface的配置信息及网络状态
            up/down    用法是:ifconfig interface up/down    启动/关闭interface接口

使用示例:

[[email protected] ~]# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:50:56:84:0D:85  
          inet addr:10.88.158.84  Bcast:10.88.158.255  Mask:255.255.255.0
          inet6 addr: fe80::250:56ff:fe84:d85/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:13280886 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12391039 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3831929038 (3.5 GiB)  TX bytes:2329255101 (2.1 GiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:261964044 errors:0 dropped:0 overruns:0 frame:0
          TX packets:261964044 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:238710410075 (222.3 GiB)  TX bytes:238710410075 (222.3 GiB)
          
[[email protected] ~]# ifconfig -s
Iface   MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0       1500   0 13280991      0      0      0 12391128      0      0      0 BMRU
lo        65536   0 261964994      0      0      0 261964994      0      0      0 LRU 

[[email protected] ~]# ifconfig lo
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:261966119 errors:0 dropped:0 overruns:0 frame:0
          TX packets:261966119 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:238710735933 (222.3 GiB)  TX bytes:238710735933 (222.3 GiB)

echo:显示变量的值

OPTIONS
                -n    输出内容后不换行
                -e    可解释转义字符  可以使用\n来做换行
                -E    不能解释转义字符(命令默认选项)

使用示例:

[[email protected] ~]# echo  ‘I wish nothing but the best for you‘
I wish nothing but the best for you

[[email protected] ~]# echo -n ‘I wish nothing but the best for you‘
I wish nothing but the best for you[[email protected] ~]# 

[[email protected] ~]# echo -e ‘I wish nothing \n but the best for you‘
I wish nothing 
 but the best for you
 
[[email protected] ~]# echo -E ‘I wish nothing \n but the best for you‘
I wish nothing \n but the best for you

[[email protected] ~]# echo  ‘I wish nothing \n but the best for you‘
I wish nothing \n but the best for you


tty:查看当前终端设备信息

tty是Linux系统的输出设备(字符型),有这么几种类型:
                虚拟终端:tty(1-6)  系统启动之后直接调用的界面
                伪终端:pts/n       通过远程或者在虚拟终端中开启的界面

串口终端:tyySn     计算机串行接口连接的终端

使用示例:

[[email protected] ~]# tty
/dev/pts/1

startX:打开图形界面

OPTIONS
                -w  在工作站上强制启动X会话
                -x  使用.xinitrc脚步启动会话


export:设置或显示环境变量

直接用export命令:

export PATH=$PATH:/usr/local/mysql/bin

想要使得开机时自动加载这个环境变量免除以后每次设置,可将其写入/etc/re.local

使用示例:

[[email protected] ~]# export PATH=$PATH:/usr/local/mysql/bin
[[email protected] ~]#

pwd:显示当前目录路径

 OPTIONS
                -L  当目录连接链接时,显示链接路径  
                -P  显示目录的物理路径

history:查看历史命令

 OPTIONS
                -c  删除history列表中的历史记录
                -a  附加当前会话中的记录到历史记录文件中去,默认~/.bash_history
                -r  从历史记录文件和附加的内容列表中读取记录

定制history的功能,可通过环境变量实现:

HISTSIZE:shell进程可保留的命令历史的条数;

HISTFILE:持久保存命令历史的文件;

.bash_history

HISTFILESIZE:命令历史文件的大小;

调用命令历史列表中的命令:

!#:再一次执行历史列表中的第#条命令;

!!:再一次执行上一条命令;

!STRING:再一次执行命令历史列表中最近一个以STRING开头的命令;

调用上一条命令的最后一个参数:

快捷键:ESC, .

字符串:!$

使用示例:

[[email protected] ~]# echo $HISTSIZE
1000
[[email protected] ~]# HISTSIZE=2
[[email protected] ~]# echo $HISTSIZE
2
[[email protected] ~]# history 
  687  echo $HISTSIZE
  688  history
  
[[email protected] ~]# export HISTSIZE=0
                ***限制命令历史记录的总条数,0表示禁用命令历史记录功能

[[email protected] ~]# export HISTFILE=~/.cmd_history
                ***设置命令历史记录的保存位置,默认是~/.bash_history

[[email protected] ~]# export HISTIGNORE=‘pwd:ls:ls -ltr:‘
                ***设置某些命令将不被保存到历史记录中

[[email protected] ~]# export HISTCONTROL=erasedups
                ***清理所有重复的命令历史条目

[[email protected] ~]# export HISTCONTROL=ignoredups
                ***剔除连续重复的命令历史条目

[[email protected] ~]# export HISTCONTROL=ignorespace
                ***不记录以空格开头的命令历史条目

shutdown:关闭系统

OPTIONS
                -H  Halt the system(Halt同shutdown -h)关闭系统
                -P  退出系统并关闭电源
                -r  重启系统
                -k  只发送关机警告并不真正关机
                -c
                -t  在改变到其他runrever之前,告诉init多久以后关机
                -n  不用init,而是自己来关机。不鼓励使用此选项

使用示例:

[[email protected] init.d]# shutdown -h +5(分钟)
Shutdown scheduled for Thu 2016-09-15 09:18:47 CST, use ‘shutdown -c‘ to ca

[[email protected] init.d]# shutdown -c
Broadcast message from [email protected] (Thu 2016-09-15 09:15:02 CST):
The system shutdown has been cancelled at Thu 2016-09-15 09:16:02 CST!


poweroff:关机命令

OPTIONS

                --halt  Halt the mochine关闭设备
                -p      switch off the mochine 切断电源
                -f      force immediate halt/poweroff/reboot强制立刻停止/断电/重启系统
                -w      只增加记录/var/log/wtmp,但不进行停止/断电/重启系统操作
                -d      不记入记录

reboot:重启系统

 OPTIONS

                --halt  Halt the mochine关闭设备
                -p      switch off the mochine 切断电源
                -f      force immediate halt/poweroff/reboot强制立刻停止/断电/重启系统
                -w      只增加记录/var/log/wtmp,但不进行停止/断电/重启系统操作
                -d      不记入记录

--------------------shutdown、halt、poweroff、reboot三者之间的区别--------------------------

            从man帮助信息可以看到使用同样的选项,会得到同样的结果

            1、shutdown
                shutdown命令是安全的将系统关闭,shutdown执行它的工作是送信号〔signal〕给init程序﹐要
                求它改变runlevel。Runlevel 0被用来停机〔halt〕﹐runlevel 6是用来重新激活〔reboot〕系
                统﹐而runlevel 1则是被用来让系统进入管理工作可以进行的状态﹔这是预设的﹐假定没有-h也没有
                -r参数给shutdown。要想了解在停机〔halt〕或者重新开机〔reboot〕过程中做了哪些动作﹐你可以
                在这个文件/etc/inittab里看到这些runlevels相关的资料。
            2、halt
                其实halt就是调用shutdown -h,halt执行时杀死应用程序的进程,执行sync系统调用,文件系统
                写操作完成之后就会停止内核。
            3、reboot
                与halt同理,只是此命令默认重启,halt是关机
            4、Poweroff
                不建议在多用户下使用
            5、init
                所有命令的核心,shutdown执行它的工作是送信号〔signal〕给init程序﹐要求它改变runlevel。
                Runlevel 0被用来停机〔halt〕﹐runlevel 6是用来重新激活〔reboot〕系统﹐而runlevel 1
                则是被用来让系统进入管理工作可以进行的状态﹔这是预设的﹐假定没有-h也没有-r参数给shutdown。
                要想了解在停机〔halt〕或者重新开机〔reboot〕过程中做了哪些动作﹐你可以在这个文件/etc/inittab
                里看到这些runlevels相关的资料。

hwclock/clock:设置同步硬件和系统间的时间

 FUNCTIONS
                -r  读取硬件时钟并且显示
                -s  将硬件时钟同步到系统时钟hctosys
                -w  将系统时钟同步到硬件时钟systohc
                  --systz   基于当前的timezone设置同步硬件时钟
                -c
                  --compare 定期比较CMOS时钟和系统时钟

date:显示和设置系统时间

SYNOPSIS
            date [OPTIONS].. [+FORMAT]
            date [-u|--utc|--univeral] [MMDDhhmm[[CC]YY][.SS]]
        OPTIONS
                -f  类似--date 显示需要查看的DATEFILE的每行时间戳
                -r  显示FILE的最后一次修改时间
                -d  根据字符描述来显示日期与时间,不包括‘now’,描述使用双引号
                -s  根据字符串来设定日期与时间,字符串带双引号

        FORMAT  
                %% :打印%
                %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)
        FOR EXAMPLE
            1、设置时间
                date -s //设置当前时间,只有root权限才能设置,其他只能查看。

                date -s 20150523 //设置成20150523,这样会把具体时间设置成空00:00:00

                date -s 01:01:01 //设置具体时间,不会对日期做更改

                date -s “01:01:01 2016-05-23″ //这样可以设置全部时间

                date -s “01:01:01 20150523″ //这样可以设置全部时间

                date -s “2016-05-23 01:01:01″ //这样可以设置全部时间

                date -s “20160523 01:01:01″ //这样可以设置全部时间

            2、日期时间查询

                date -d ‘1 day ago‘ +‘%Y-%m-%d‘    
                date -d ‘+1 day‘ +%Y-%m-%d
                date -d ‘-1 day‘ +%Y-%m-%d
                date -d ‘+1 month‘ +%Y-%m-%d
                date -d ‘+1 yeas‘ +%Y-%m-%d

二、如何获取命令帮助

Linux系统的命令众多,再配合各种选项,那命令的使用方法永远也记不完;那我们如何获取命令的帮助呢?我们知道,在Linux系统中命令可分为内置命令和外部命令,查看一个命令是内置命令还是外部命令,我们使用type命令,比如:

[[email protected] ~]# type cd ifconfig    cd is a shell builtin       /*  cd是SHELL的内置命令    ifconfig is hashed (/usr/sbin/ifconfig)     /*ifconfig是外部命令

常用的获取命令帮助的途径有以下几个:

1、获取内置命令的帮助信息

获取内置命令的帮助信息的方式,比如help pwd,得到如下信息

[[email protected] ~]# help pwdpwd: pwd [-LP]    Print the name of the current working directory.        Options:      -L	print the value of $PWD if it names the current working    	directory      -P	print the physical directory, without any symbolic links        By default, `pwd‘ behaves as if `-L‘ were specified.        Exit Status:    Returns 0 unless an invalid option is given or the current directory    cannot be read.

2、获取外部命令的帮助信息

获取外部命令的帮助信息的方式有多种,常用有以下几种:

a、COMMAND --HELP

以简要格式显示自带的帮助文档,比如ip --help

[[email protected] ~]# ip --helpUsage: ip [ OPTIONS ] OBJECT { COMMAND | help }       ip [ -force ] -batch filenamewhere  OBJECT := { link | addr | addrlabel | route | rule | neigh | ntable |                   tunnel | maddr | mroute | mrule | monitor | xfrm | token }       OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |                    -h[uman-readable] | -iec |                    -f[amily] { inet | inet6 | ipx | dnet | link } |                    -o[neline] | -t[imestamp] | -b[atch] [filename] |                    -rc[vbuf] [size]}

b、man COMMAND            
            man(manual)属于专业的命令帮助手册,位于/var/share/man文件中,讲解很专业、全面。man命令包括10个章节,具体如下:

man1:用户命令(user commands)
                man2:系统内部调用命令(system calls)
                man3:C库调用(library functions)
                man4:设备文件及特殊文件(special files)
                man5:文件格式(配置文件格式)(file formats)
                man6:游戏使用帮助(games)
                man7:杂项(conventions and miscellany)
                man8:管理工具及守护进程(administration and privileged commands)
                man L:(math library functions)
                man N:tcl functions tcl函数

当我们man一个命令的时候,在文档的左上角会提示我们的帮助文档属于man的哪一章的命令帮助,或者可以通过man n COMMAND
            命令指定其章节,如下:

[[email protected] ~]# man ifconfig
            IFCONFIG(8)           Linux System Administrator‘s Manual          IFCONFIG(8)               
            [[email protected] ~]# man 1 date
            DATE(1)

man命令打开手册以后的操作方法:

翻屏:

空格键:向文件尾翻一屏;

b: 向文件首部翻一屏;

Ctrl+d:向文件尾部翻半屏;

Ctrl+u:向文件首部翻半屏;

回车键:向文件尾部翻一行;

k: 向文件首部翻一行;

G:跳转至最后一行;

#G: 跳转至指定行;

1G:跳转至文件首部;

c、info COMMAND:

获取COMMAND的在线文档

d、程序自带文档,比如:

README:程序的相关信息
            INSTALL:安装帮助文档

CHANGES:程序的改动信息

f、官方文档,比如RHEL文档:http://www.redhat.com/doc

三、Linux基础目录功用及命名规则

FHS(Filesystem Hierarchy Standard)规定了类Unix系统的各个系统目录的功能及存储文件,下面我们来解读下linux系统中的目录

/: Root directory 根目录,Linux内核挂载的起始位置

/bin: Essential user command binaries (for use by all users) 基本的用户命令文件,任何用户均可调用,比如:cp、date、dd、rm

/boot: Static files of the boot loader 系统引导加载程序的静态文件,系统进入用户模式之前的加载文件均在这里

/dev: Device files 系统的设备文件 存储着关于各部分硬件设备的资料,比如:tty、pts、mem(不可读)

/etc:Host-specific system configuration 主机的系统配置文件,几个特殊的目录如下:

X11/       Configuration for the X Window system (optional)
                  sgml/            Configuration for SGML (optional)
                  xml/           Configuration for XML (optional)

/home:  User home directories (optional)  用户的家目录,创建用户默认生成,一般目录名同用户名。例如:/home/USERNAME

/lib:Essential shared libraries and kernel modules 基本的共享库及内核模块。

/lib(qual):Alternate format essential shared libraries (optional) 交替格式共享库。例如lib32、lib64

/media:Mount point for removable media 可移动介质的挂载点,可以认为是扩展挂载点。与/mnt类似

/mnt:Mount point for a temporarily mounted filesystem 其他临时系统文件的挂载点。

/opt:Add-on application software packages 留给附加的应用程序软件包的

/root:Home directory for the root user (optional) 超级管理员root的家目录

/run:Run-time variable data 运行时的变量数据,这个目录包含系统信息数据描述了系统自启动。这个目录下的文件必须被清除(删除或截断)在引导过程的开始。

/sbin:System binaries 管理员命令存储目录,没有子目录且不能随意创建

/srv:Data for services provided by this system 系统服务的相关数据

/tmp:Temporary files 临时文件存储。

/usr: shareable, read-only data,must not be written to。属于系统文件的最主要部分(/除外),符合FHS用户共用此目录,其子目录解读如下:

bin/        Most user commands 大部分的用户命令,比如:perl,python,tclsh

include/       Directory for standard include files 一些可能系统调用的C相关的文件

lib/        Libraries for programming and packages 库程序和包

local/       Local hierarchy 本地的层级目录,bin/,sbin/,lib/,lib64/,share/,src/,games/,include/等

sbin/       Non-essential standard system binaries 只有管理员调用的非标准的系统函数

share/       Architecture-independent data 系统杂项,但是有几个重要的目录

man/ Manual pages 使用手册目录

doc/ 程序的说明文档

zeroinfo/ Timezone information and configuration (optional)   时区信息和配置信息

src/        Source code (optional)源代码文件可以存储在这里,仅供参考

/sys:Kernel and system information virtual filesystem 主要存储的是硬件信息、驱动、个别内核信息

/proc:Kernel and process information virtual filesystem 看解释跟/sys一样,只是此文件目录存储的是实际标准的流程和系统信息,比如CPU、内存等信息

/var:/var contains variable data files. This includes spool directories and files, administrative and logging data, and transient and temporary files.

主要包括一些缓存文件、管理的log文件、动态生成的临时文件、spoool、mail文件,也是比较重要的目录

文件和目录的命名规则:

1、文件名名称严格区分字符大小写;

2、文件可以使用除/以外任意字符;

3、文件名长度不能超过255字符;

4、以.开头的文件为隐藏文件;

.: 当前目录;

..: 当前目录的上一级目录;

时间: 2024-10-25 08:13:49

Linux基础之常用命令(二)的相关文章

【Linux基础】常用命令大全

Linux基础之常用命令大全 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info的信息 cat /proc/interrupts 显示中断 cat /

linux基础及常用命令的使用

linux系统是一个主要使用命令进行日常工作的系统,所以了解并熟练掌握常用命令的使用是进入linux大门的基本,以下便是linux学习过程中学习的常用的命令的用法: linux的日常管理工作一般有如下几个部分,下面通过这几个方面的管理工作来整理与其相关的常用命令: 一  shell的介绍 1.普通用户需要直接使用计算机系统提供的功能,是非常困难的,因为计算机系统能接收的指令和人发出的指令是不相同的,因此需要在计算机系统及用户之间建立一个可以将相互的指令进行"翻译"的功能.shell就是

DAY-7 Linux基础及常用命令(3)

系统监控 1.功能:为了保证服务器的正常运行.一般监控3种状态:CPU的状态.硬盘的状态.内存的状态 2.命令top--检测系统各种进程占用的资源(相当于win任务管理器) 3.CPU的利用率--实际使用时间除以本身工作时间    CPU的平均负载--有多少任务需要执行除以可以执行的任务 4.平均负载系统显示3个时间(1分钟.5分钟.15分钟),更加精确的检测系统负载状态 一.CPU的状态及命令 df--查看硬盘的状态(所有的文件夹都会映射到硬盘的某一个范围内) df –h--人性化的单位去显示

Linux基础之常用命令

常用命令: Linux文件系统: 1.文件名名称严格区分字符大小写: 2.文件可以使用除/以外任意字符: 3.文件名长度不能超过255字符: 4.以.开头的文件为隐藏文件: .: 当前目录: ..: 当前目录的上一级目录: /etc/sysconfig/ .: sysconfig ..: /etc 工作目录:working directory 家目录:home 常用命令: pwd: printing working directory 显示工作目录 cd:change directory cd

Linux基础之常用命令篇

一.命令的基本格式 [[email protected]~] root为用户名 -表示当前所在位置 localhost主机名 '#'超级用户 '$" 普通用户 命令的基本格式: 命令 [选项] [参数] 二.查询目录的内容 命令格式: ls [选项][文件或目录] 选项: -a 所有文件 -l 查看详情 -d查看目录属性 -h显示文件大小 三.文件处理命令 1.建立目录 mkdir -p [目录名] -p表述递归建文件夹 举例: mkdir japan mkdir -p japan/cangjk

Linux基础以及常用命令

首先,先了解一下什么是shell?Shell 是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口.它接收用户输入的命令并把它送到内核去执行.Shell也被称为Linux的命令解释器,Shell是一种高级程序设计语言.[[email protected] ~]# echo $SHELL 查看当前的shell类型/bin/bash[[email protected] ~]# cat /etc/shells 查看当前系统安装的shell/bin/sh/bin/bash/sbin/nol

DAY-8 Linux基础及常用命令(4)

一.制作swap分区(命令) swapon –s  查看当前激活状态的swap分区 free –m 以m为单位查看分区 swapoff关闭分区  swapon打开分区 添加swap分区--mkswap /dev/sdb 把整块盘当做一个分区制作成swap 然后开启--swapon /dev/sdb 二.网络配置(命令) 1.命令修改网卡IP地址:ifconfig 2.ifconfig 加网卡姓名 down/up--激活和关闭 3.route –n查看网络配置信息 4.永久修改网卡IP地址 网卡配

DAY-9 Linux基础及常用命令(5)

一.Samba(类似共享网盘) 1.功能:Linux操作系统给win用户共享文件用 2.如何部署 >>准备环境:iptables –F(清除防火墙).systemctl disable firewalld(开机默认关闭).systemctl stop firewalld(立即关闭).systemctl status firewalld(查看防火墙状态) 关于SELINUX的修改:Setenforece 0(临时修改),getenforce(查看状态) >>配置ip地址(安装软件包)

Linux基础和常用命令

经常使用的命令: #查看端口被占用情况 netstat -tunlp|grep 22 #查看java进程 ps -ef|grep java #压缩前端工程 rar a -ep1 ./update/win32.zip ./packages/**/win32/* #查找所有带wine的文件和文件夹 find / -name *wine* #重载环境变量的文件 source /etc/profile #查看进程的内存映像信息 pmap -d 1 #查看内存占用最多的10个进程 ps -aux | so