Linux基础入门级命令文档
Linux系统上命令的使用格式,及常用命令示例
1、命令提示符
登录系统后,第一眼看到的内容是:
[root@node01 ~]#
上图就是 Linux 系统的命令提示符。那么,这个提示符的含义是什么呢?
- []:这是提示符的分隔符号,没有特殊含义。
- root:显示的是当前的登录用户,笔者现在使用的是 root 用户登录。
- @:分隔符号,没有特殊含义。
- node1:当前系统的简写主机名node1。
- ~:代表用户当前所在的目录,此例中用户当前所在的目录是家目录。
- ]#:命令提示符,Linux 用这个符号标识登录的用户权限等级。如果是超级用户,提示符就是 #;如果是普通用户,提示符就是 $。
2、命令的语法通用格式
~]# COMMAND [OPTIONS] [ARGUMENTS]
~]# 命令名   [选项]  [参数]
命令格式中的 [] 代表可选项,也就是有些命令可以不写选项或参数,也能执行。例如:
[root@node01 ~]# ls
abc  anaconda-ks.cfg
[root@node01 ~]
接着,我们就用 Linux 中最常见的 ls 命令来解释一下命令的格式。
- 选项的作用
[root@node01 ~]# ls -l
总用量 8
-rw-r--r--. 1 root root   20 11月 30 14:35 abc
-rw-------. 1 root root 1647 11月 28 14:46 anaconda-ks.cfg
[root@node01 ~]#
如果加一个"-l"选项,则可以看到显示的内容明显增多了。"-l"是长格式(long list)的意思,也就是显示文件的详细信息。至于"-l"选项的具体含义,我们稍后再详细讲解。可以看到选项的作用是调整命令功能。如果没有选项,那么命令只能执行最基本的功能;而一旦有选项,则可以显示更加丰富的数据。
- 参数的作用
 参数是命令的操作对象,一般文件、目录、用户和进程等可以作为参数被命令操作。例如:
[root@node01 ~]# ls -l /root
总用量 8
-rw-r--r--. 1 root root   20 11月 30 14:35 abc
-rw-------. 1 root root 1647 11月 28 14:46 anaconda-ks.cfg
[root@node01 ~]#
但是为什么一开始 ls 命令可以省略参数?那是因为有默认参数。命令一般都需要加入参数,用于指定命令操作的对象是谁。如果可以省略参数,则一般都有默认参数ls -l 后面默认是以当前目录为参数。
3、常用基本命令示例
- ifconfig
 用于配置和显示Linux内核中网络接口的网络参数,一般用来查看网卡信息
 ifconfig [-v] [-a] [-s] [interface]
 ifconfig [-v] interface [aftype] options | address ...
 常用示例:
 查看网卡ens32的详细信息
[root@node01 ~]# ifconfig ens32
ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.192.2.222  netmask 255.255.255.0  broadcast 10.192.2.255
        inet6 fe80::58e9:fb25:8d97:81fa  prefixlen 64  scopeid 0x20<link>
        ether 00:50:56:84:af:8b  txqueuelen 1000  (Ethernet)
        RX packets 54298  bytes 12290214 (11.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 9123  bytes 1309540 (1.2 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
[root@node01 ~]#
给网卡ens32设置IP地址
[root@node01 ~]# ifconfig  ens32 10.192.2.224/24
[root@node01 ~]# ifconfig ens32
ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.192.2.224  netmask 255.255.255.0  broadcast 10.192.2.255
        inet6 fe80::58e9:fb25:8d97:81fa  prefixlen 64  scopeid 0x20<link>
        ether 00:50:56:84:af:8b  txqueuelen 1000  (Ethernet)
        RX packets 55775  bytes 12408989 (11.8 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 9757  bytes 1399059 (1.3 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
- echo
 显示文本行
 echo [SHORT-OPTION]... [STRING]...
 echo LONG-OPTION
 -e 表示激活转义符
 常用示例:
 换行输出
[root@node01 ~]# echo -e "hello\nworld"
hello
world
打印上一个命令执行状态
[root@node01 ~]# ls -l
总用量 8
-rw-r--r--. 1 root root   20 11月 30 14:35 abc
-rw-------. 1 root root 1647 11月 28 14:46 anaconda-ks.cfg
[root@node01 ~]# echo "$?"
0
[root@node01 ~]#
ps:""表示弱引用,''表示强引用,0表示执行状态成功,非0表示执行状态错误。
- tty
 显示出连接到当前标准输入的终端设备文件名
 tty [OPTION]...
 常用示例:
 显示当前tty版本信息及当前终端设备号
[root@node01 ~]# tty --version
tty (GNU coreutils) 8.22
Copyright (C) 2013 Free Software Foundation, Inc.
许可证:GPLv3+:GNU 通用公共许可证第3 版或更新版本<http://gnu.org/licenses/gpl.html>。
本软件是自由软件:您可以自由修改和重新发布它。
在法律范围内没有其他保证。
由David MacKenzie 编写。
[root@node01 ~]# tty
/dev/pts/0
[root@node01 ~]#
ps:pts表示伪终端。
- startx
 启动图形界面,前提是系统安装了X环境
 startx [ -d Display:0 ] [ -t | -w ] [ -x Startup | [ -r Resources ] [ -m Window_Manager ] ] [ -wait ]
 -d Display :0 指定在启动过程中传递给 X 客户机的 X 服务器的显示名称。
 -m Window_Manager 当未找到 startup 脚本时,启动窗口管理器。
 -r Resources 当未找到 startup 脚本时,装入资源文件。
 -t 为一个 X 终端启动 X 客户机。
 -w 为工作站上的 X 窗口会话启动 X 服务器和 X 客户机。
 -wait 当 xdm 命令调用 startx 时,防止重新启动 X 会话。
 -x Startup 使用 startup 脚本启动 X 窗口会话。
 ps:由于图形界面的启动会占用系统资源,并导致系统的不稳定,一般服务器都采用最小化安装,图形界面基本不需要安装。
- export
 用于设置或显示环境变量
 export [-fnp][变量名称]=[变量设置值]
 -f 代表[变量名称]中为函数名称。
 -n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
 -p 列出所有的shell赋予程序的环境变量
 常用示例:
 修改当前shell的语言为中文
[root@node01 ~]# date
Tue Dec 11 11:33:25 CST 2018
[root@node01 ~]# export LANG="zh_CN.UTF-8"
[root@node01 ~]# date
2018年 12月 11日 星期二 11:33:48 CST
[root@node01 ~]#
- pwd
 显示当前工作目录的完整路径
 pwd [OPTION]...
 常用示例:
 通常在脚本中调用当前工作目录位置
[root@node01 ~]# cd /etc/sysconfig/
[root@node01 sysconfig]# echo "$(pwd)"
/etc/sysconfig
[root@node01 sysconfig]#
- history
 显示在命令行输入并执行过的命令
 history [-c] [-d 偏移量] [n]
或 history -anrw [文件名]
或 history -ps 参数 [参数...]
-c:清空内存中的命令历史,不会清空历史文件中的记录
-d:删除制定命令历史记录,不会清空历史文件中的记录
-r:从历史命令文件中读取历史命令到内存中
-w:将内存中历史命令追加至历史命令文件中
常用示例:
查看并清除当前shell用户的历史命令
[root@node01 ~]# history
    1  history -w
    2  ls
    3  cd
    4  pwd
    5  ls -ld
    6  history
[root@node01 ~]# history -c
[root@node01 ~]# history -w
[root@node01 ~]# history
    1  history -w
    2  history
[root@node01 ~]#
[root@node01 ~]# cat .bash_history
history -w
- shutdown
 操作系统关机命令
 shutdown [OPTIONS...] [TIME] [WALL...]
 -[HhP] 都为关机命令
 -[time] 我们可以指定多少分钟以后进行关机操作
 -[wall] 关机时附带的警告信息,通知所有用户。
 -r 相当于reboot 重启服务器
 -k 并非真的关机,主要起发起警告作用
 常用示例:
 关机前发送停机广播
[root@node01 ~]# shutdown -k 5 Pay attentionman shutdownsystemctl restart network well shutdown after 5min.
Shutdown scheduled for 二 2018-12-11 09:59:26 CST, use 'shutdown -c' to cancel.
[root@node01 ~]#
Broadcast message from root@node01 (Tue 2018-12-11 09:54:26 CST):
Pay attentionman shutdownsystemctl restart network well shutdown after 5min.
The system is going down for power-off at Tue 2018-12-11 09:59:26 CST!
立即关闭机器
[root@node01 ~]# shutdown -h now
Connection closed by foreign host.
Disconnected from remote host(10.192.2.224:22) at 10:12:42.
- poweroff
 操作系统关机命令
 poweroff [OPTIONS...]
 --[half|poweroff] 直接关机命令
 -p 直接关机
 -f 强制关机
 常用示例:
[root@node01 ~]# poweroff 
Connection closed by foreign host.
Disconnected from remote host(10.192.2.222:22) at 10:28:43.
- reboot
 重启命令
 reboot [OPTIONS...]
 -p 相当于poweroff后,在开机。
 -f 强制重启
 常用示例:
 强制重启
[root@node01 ~]# reboot -f
Connection closed by foreign host.
Disconnected from remote host(10.192.2.222:22) at 10:34:06.
- hwclock
 hwclock [function] [option...]
 -r 读取硬件时钟并打印结果
 -s 从硬件时钟设置系统时间
 -w 从当前系统时间设置硬件时钟
 常用示例:
 查看当前系统及硬件时钟,并从当前系统时间设置硬件时钟
[root@node01 ~]# date
2018年 12月 11日 星期二 10:55:00 CST
[root@node01 ~]# hwclock -r
2018年12月11日 星期二 10时49分05秒  -0.240715 秒
[root@node01 ~]# hwclock -w
[root@node01 ~]# hwclock -r
2018年12月11日 星期二 10时55分46秒  -0.927907 秒
2、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的
1、命令帮助
- 内部命令
 help COMMAND
 如判断是否内部命令:type COMMAND
[root@node01 ~]# type history
history 是 shell 内嵌
[root@node01 ~]#
- 外部命令
- 1、命令自带简要格式的使用帮助 
 COMMAND --help
- 2、使用帮助手册(manual) 
 man CHAPTER COMMAND
- 3、info COMMAND 
 获取命令的在线文档
- 4、很多应用程序会自带帮助文档:/usr/share/doc/APP-VERSION 
 README:程序的相关的信息
 INSTALL:安装帮助
 CHANGES:版本迭代时的改动信息;
- 5、主流发行版官方文档,例如redhat官方文档 
 http://www.redhat.com/doc
- 6程序官方的文档 
 官方站点上的"Document"
- 7、搜索引擎 
 Google、百度等等
 
2、man手册使用
使用手册(manual),手册压缩格式的文件,有章节之分。手册分为man1-man8。
- man1:用户命令
- man2:系统调用
- man3:C库调用
- man4:设备文件及特殊文件
- man5:文件格式:(配置文件格式)
- man6:游戏使用帮助
- man7:杂项
- man8:管理工具及守护进行
 帮助手册路径:/usr/share/man
 语法格式:#man COMMAND
 1、并非每个COMMAND在所有章节下都有手册。
 2、可以通过whatis查看命令存在哪些章节。
 3、whatis执行过程是查询数据进行的,但是如果有新命令需要手动更新数据库:#makewhatis
3、Linux发行版的基础目录名称命名法则及功用规定
1、命名法则
Filesystem Hierarchy Standard(文件系统层次化标准)的缩写,多数Linux版本采用这种文件组织形式,FHS采用树形结构组织文件。FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理。参考:Filesystem Hierarchy Standard 故根据这个标准,Linux目录名如下图:

2、目录功用规定描述
- / 主层次的根,也是整个文件系统层次结构的根目录 
- /bin 存放在单用户模式可用的必要命令二进制文件,所有用户都可用,如 cat、ls、cp等等 
- /boot 存放引导加载程序文件,例如kernels、initrd等 
- /dev 存放必要的设备文件,例如/dev/null 
- /etc 存放主机特定的系统级配置文件 
- /home 普通用户的家目录的集中位置 
- /lib 二进制文件的必需的库文件 
- /media 可移动的多媒体(如CD-ROMs)的挂载点 
- /mnt 临时挂载的文件系统 
- /opt 可选的应用程序软件包 
- /proc 以文件形式提供进程以及内核信息的虚拟文件系统 
- /root root用户的主目录 
- /sbin 必要的系统级二进制文件 
- /srv 系统提供的站点特定数据 
- /tmp 临时文件,所有用户该目录都有写权限 
- /usr 二级层级存储用户的只读数据; 包含(多)用户主要的公共文件以及应用程序 - /usr/bin 非必要的命令二进制文件 (在单用户模式中不需要用到的);用于所有用户
- /usr/include 标准的包含文件
- /usr/lib 库文件,用于/usr/bin/ 和 /usr/sbin/中的二进制文件
- /usr/lib<架构位数> 备用格式库(可选的)
- /usr/local 用于本地程序数据目录
- /usr/local/sbin 非必要系统的二进制文件,比如用于不同网络服务的守护进程
- /usr/share 架构无关的 (共享) 数据.
- /usr/src 源代码,比如内核源文件以及与它相关的头文件
- /usr/X11R6X Window系统,版本号:11,发行版本:6
 
- /var 各式各样的变量(Variable)文件,随着系统常规操作而持续改变的文件比如日志文件 - /var/cache 应用程序缓存数据
- /var/lib 状态信息,随着程序的运行而不停地改变,比如,数据库,软件包系统的元数据等等
- /var/lock 锁文件,这些文件用于跟踪正在使用的资源
- /var/log 日志文件,包含各种日志
- /var/spool 该spool主要用于存放将要被处理的任务,比如打印队列以及邮件外发队列
- /var/spool/mail 内含用户邮箱的相关文件
- /var/run 存放当前系统上次启动以来的相关信息,例如当前登入的用户以及当前运行的daemons(守护进程)
 
Linux视频学习资料
Linux基础入门级命令文档的更多相关文章
- 500 多个 Linux 命令文档搜索
		500 多个 Linux 命令文档搜索 搜索界面:https://wangchujiang.com/linux-command/ 源码:https://github.com/jaywcjlove/li ... 
- Git教程(2)官方命令文档及常用命令表
		http://www.cnblogs.com/angeldevil/archive/2013/11/26/3238470.html 1,官方命令文档 http://www.git-scm.com/do ... 
- 09 Command Documentation 命令文档
		Command Documentation 命令文档 There is a suite of programs to build and process Go source code. Inste ... 
- Linux学习笔记(9)linux网络管理与配置之一——Linux基础网络命令与学习大纲(0)
		大纲目录 0.常用linux基础网络命令 1.配置主机名 2.配置网卡信息与IP地址 3.配置DNS客户端 4.配置名称解析顺序 5.配置路由与默认网关 6.双网卡绑定 [1] ping [2]net ... 
- Linux基础常用命令
		Linux 下命令有很多,并且很多命令用法又有不同的选项,这里介绍一些常用的最基本的Linux命令的用法,希望给大家留下便利之处. 1.cd 切换目录.例如 cd /home 可切换到home目录, ... 
- Linux菜鸟入门级命令大全
		1. man 对你熟悉或不熟悉的命令提供帮助解释eg:man ls 就可以查看ls相关的用法注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止当前程序运行.2. ls 查看目录或者 ... 
- Linux基础之命令练习Day7-nginx,nfs
		一. Nginx Nginx("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由Igor Sysoev为俄罗 ... 
- Linux下查看txt文档
		当我们在使用Window操作系统的时候,可能使用最多的文本格式就是txt了,可是当我们将Window平台下的txt文本文档复制到Linux平台下查看时,发现原来的中文所有变成了乱码. 没错, 引起这个 ... 
- Linux 笔记 - 第八章 文档的打包与压缩
		博客地址:http://www.moonxy.com 一.前言 在 Linux 系统中,文件的后缀名没有实际的意义,加或者不加都无所谓.但是为了便于区分,我们习惯在定义文件名时加一个后缀名,比如常见的 ... 
随机推荐
- 线程调用BeginInvoke
			线程异步调用 Thread objThread = new Thread(new ThreadStart(delegate { Dispatch ... 
- java.lang.NullPointerException: Attempt to invoke virtual method 'int com.example.xxx.Json.NewsBean.getError_code()' on a null object reference错误解决
			AS在运行的过程中出现了错误: java.lang.NullPointerException: Attempt to invoke virtual method 'int com.example.xx ... 
- 使用Java api对HBase 2.4.5进行增删改查
			1.运行hbase 2.新建maven项目 2.将hbase-site.xml放在项目的resources文件夹下 3.修改pom.xml文件,引入hbase相关资源 <repositories ... 
- PHP中PDO关闭连接的问题
			在之前我们手写 mysql 的连接操作时,一般都会使用 mysql_close() 来进行关闭数据库连接的操作.不过在现代化的开发中,一般使用框架都会让我们忽视了底层的这些封装,而且大部分框架都已经默 ... 
- php后台解决跨域
			protected function _initalize() { header("content-type:text/html;charset=utf-8"); header(& ... 
- 【转】mysql实现随机获取几条数据的方法
			sql语句有几种写法 1:SELECT * FROM tablename ORDER BY RAND() LIMIT 想要获取的数据条数: 2:SELECT *FROM `table` WHERE i ... 
- ecshop 加入购物车和直接购买同时存在的方法
			一.首先将直接购买的链接设置为 <a href="javascript:bool =1;addToCart({$goods.goods_id})"> bool值为1,g ... 
- 解决跨域、同源策略-React中代理的配置
			React中代理的配置 主要是解决同源策略的问题 何为同源策略? 因为我们React在3000端口,Vue在8080端口,而后台接口往往在5000,这种不同的端口之间就是一种跨域的问题了 axios发 ... 
- 鸿蒙内核源码分析(消息队列篇) | 进程间如何异步传递大数据 | 百篇博客分析OpenHarmony源码 | v33.02
			百篇博客系列篇.本篇为: v33.xx 鸿蒙内核源码分析(消息队列篇) | 进程间如何异步传递大数据 | 51.c.h .o 进程通讯相关篇为: v26.xx 鸿蒙内核源码分析(自旋锁篇) | 自旋锁 ... 
- 鸿蒙内核源码分析(自旋锁篇) | 当立贞节牌坊的好同志 | 百篇博客分析OpenHarmony源码 | v26.02
			百篇博客系列篇.本篇为: v26.xx 鸿蒙内核源码分析(自旋锁篇) | 当立贞节牌坊的好同志 | 51.c.h .o 进程通讯相关篇为: v26.xx 鸿蒙内核源码分析(自旋锁篇) | 当立贞节牌坊 ... 
