Linux基础知识和帮助命令

简介: 1、linux的哲学思想一切都是一个文件。(包括硬件,文本,二进制,源代码)系统中拥有小型,单一用途的程序。(一个程序只负责做好自己的本职工作)当遇到复杂任务,通过不同功能用途的程序组合起来完成。避免令人困惑的用户界面就是没有复杂的图形界面。连配置文件都存储在文本中,方便增删改查。不在乎后缀名,有没有都无所谓,不是通过后缀名来定义文件的类型。

1、linux的哲学思想

  • 一切都是一个文件。(包括硬件,文本,二进制,源代码)
  • 系统中拥有小型,单一用途的程序。(一个程序只负责做好自己的本职工作)
  • 当遇到复杂任务,通过不同功能用途的程序组合起来完成。
  • 避免令人困惑的用户界面就是没有复杂的图形界面。
  • 连配置文件都存储在文本中,方便增删改查。
  • 不在乎后缀名,有没有都无所谓,不是通过后缀名来定义文件的类型。


2、shell

2.1 什么是shell(壳),怎么在硬件和用户之间翻译

shell是Linux系统中后台运行的一种特殊程序也可以理解成一种特殊的软件,提供了用户与内核进行交互操作的一种接口。

网络异常,图片无法展示
|


用户使用应用程序发布指令,比如使用浏览器访问网页;

shell去通知操作系统需要进行什么样的操作(相当于解释层);

内核相当于操作系统去指挥硬件;

硬件才能工作,否则无法交互。

基础知识:

[root@localhost ~]# 
[zhangsan@localhost root]$ 
[zhangsan@localhost root]$ hostname
localhost.localdomain
[zhangsan@localhost opt]$ 
root       //表示用户 
localhost  //主机名
~          //家目录
#          //管理员用户
$          //普通用户
root       //root的家目录  
opt        //opt目录
#关机命令:
1、halt                  //立刻关机
2、poweroff              //立刻关机
3、shutdown -h now       //立刻关机(root用户使用)
4、shutdown -h 10        //10分钟后自动关机
#重启:
reboot
init6
shutdown -r now
#修改语言
修改LANG变量实现中文语言提示
[root@localhost ~]# LANG=zh_CN.UTF-8
[root@localhost ~]# echo $LANG 
zh_CN.UTF-8
[root@localhost ~]# LANG=en_US.UTF-8
[root@localhost ~]# echo $LANG 
en_US.UTF-8
#修改颜色
[root@localhost ~]#vim .bashrc
PS1='[\e[1;34m][\u@\h \W]$[\e[0m]'
复制代码


2.2 不同的shell环境

bash是linux里面默认的shell程序,位于/bin/bash。csh、ksh 语言不同,比如中文英文都是交流的语言。

[root@localhost ~]# echo $SHELL         //显示当前shell
/bin/bash
[root@localhost ~]# cat /etc/shells     //显示当前系统所有使用的shell
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
[root@localhost mnt]# sh         //切换shell环境
sh-4.2# 
[root@localhost mnt]# pstree     //查看使用过的shell环境
├─sshd───sshd───bash───csh───bash───tcsh───bash───pstree
        ├─systemd-journal
        ├─systemd-logind
        ├─systemd-udevd
        ├─tuned───4*[{tuned}]
        ├─upowerd───2*[{upowerd}]
        ├─vmtoolsd───{vmtoolsd}
        ├─wpa_supplicant
        └─xdg-permission-───2*[{xdg-permission-}]
复制代码


2.3 shell与内、外部命令

(1)shell 分为内部命令 和外部命令,一般先执行内部命令,再执行外部命令。

内部命令 外部命令
集成于Shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令 Linux系统中能够完成特定功能的脚本文件或二进制程序
属于Shell的一部分 属于Shell解释器程序之外的命令
没有单独对应的系统文件 每个外部命令对应了系统中的一个文件
自动载入内存,可以直接使用 必须知道其对应的文件位置,由Shell加载后才能执行


(2) help命令可以查看内部命令

[root@localhost ~]# help cd
cd: cd [-L|[-P [-e]]] [dir]
    Change the shell working directory.
    Change the current directory to DIR.  The default DIR is the value of the
    HOME shell variable.
    The variable CDPATH defines the search path for the directory containing
    DIR.  Alternative directory names in CDPATH are separated by a colon (:).
    A null directory name is the same as the current directory.  If DIR begins
    with a slash (/), then CDPATH is not used.
    If the directory is not found, and the shell option `cdable_vars' is set,
    the word is assumed to be  a variable name.  If that variable has a value,
    its value is used for DIR.
    Options:
        -L      force symbolic links to be followed
        -P      use the physical directory structure without following symbolic
        links
        -e      if the -P option is supplied, and the current working directory
        cannot be determined successfully, exit with a non-zero status
    The default is to follow symbolic links, as if `-L' were specified.
    Exit Status:
    Returns 0 if the directory is changed, and if $PWD is set successfully when
    -P is used; non-zero otherwise.
复制代码


(3)可以使用type 命令来区分内外部命令

[root@localhost /]# type cd          //内嵌代表内部命令
cd 是 shell 内嵌                      
[root@test1 /]# type -a ls           //别名代表外部命令,外部命令会有程序路径   
ls 是 `ls --color=auto' 的别名             
ls 是 /usr/bin/ls                   
[root@localhost /]# whereis ls       //whereis 可以查找命令具体的位置所在
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
[root@localhost ~]# type -a echo 
echo 是 shell 内嵌
echo 是 /usr/bin/echo
复制代码


外部命令存放于 echo $PATH, 一个一个找,找到为止,找不到就报无命令

[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
外部命令使用过后会被记录在内存(缓存,但是会占用内存,临时性的)加快读取速度
复制代码


(4)开启或关闭内部命令

关闭:enable -n 内部命令

开启:enable 内部命令

[root@localhost opt]# enable -n cd
[root@localhost opt]# cd /mnt/
[root@localhost opt]#
复制代码


(5)hash 缓存空间

hash命令负责显示与清除命令运行时系统优先查询的哈希表(hash table)。

当执行hash命令不指定参数或标志时,hash命令向标准输出报告路径名列表的内容。此报告含有先前hash命令调用找到的当前shell环境中命令的路径名。而且还包含通过正常命令搜索进程调用并找到的那些命令。

命令选项

选项 说明
-d<指令> 在哈希表中清除某个命令记录
-r 清除哈希表中的所有记录
-l 显示哈希表中的命令
-p<指令> 将具有完整路径的命令加入到哈希表中
-t<指令> 显示哈希表中命令的完整路径


将缓存的外部命令移到其他默认的目录中,无法再次使用,需要清掉hash值之后 ,才可以继续使用。

[root@localhost mnt]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root:/root/bin
[root@localhost mnt]# mv /usr/bin/ls /usr/local/bin
[root@localhost mnt]# ls
-bash: /usr/bin/ls: 没有那个文件或目录
[root@localhost mnt]# hash 
  命中    命令
   1    /usr/bin/mv
   2    /usr/bin/ls
   6    /usr/bin/cd
[root@localhost mnt]# hash -d ls
[root@localhost mnt]# ls
1.5.txt  f15..txt   f1.txt  f3.txt  f5.txt
15..txt  f15...txt  f2.txt  f4.txt
[root@localhost mnt]# hash
  命中    命令
   1    /usr/bin/mv
   1    /usr/local/bin/ls
   6    /usr/bin/cd
复制代码


3. 命令行格式

  • 在 Linux 操作系统中,凡是在字符操作界面中输入能够完成特定操作和任务的字符串都 可以称为命令。
  • 严格来说,命令通常只代表实现某一类功能的程序的名称。

格式:

命令字   [选项]...   [参数]...

命令字、选项、参数各自的意思及具体使用方法:

  • 命令字
    是整条命令中最关键的一部分,唯一确定。
  • 选项
    短格式选项:使用“-”符号引导,通常是一个字母;
    长格式选项:使用“--”符号引导,通常是完整的单词。
  • 参数
    命令字的处理对象,可以是文件名、目录(路径)名或用户名等内容,个数可以是零到多个。

;可以隔开命令

,执行多个命令

编辑Linux命令行的辅助操作

快捷键 功能
Tab 键 自动补齐(两次可以显示所有选项)
反斜杠“\” 强制换行或转义
Ctrl+a 光标移到最前
Ctrl+e 光标移到最后
Ctrl+U 清空至行首不包括当前光标处的 字符
Ctrl+K 清空至行尾包括当前光标处的字符
Ctrl+w 从当前光标删除到开头
ALT+d 从当前光标删除末尾
Ctrl+l 清屏
Ctrl+c 取消本次命令编辑
Ctrl+s/Ctrl+q 锁屏/解锁
向上下箭头 回看执行过的命令


4.获得命令帮助

4.1 help

格式说明

  • [ ]表示可选项
  • CAPS或<>表示可变化的数据
  • ...表示一个列表可加多个
  • x|y|z 表示或的意思
  • -abc 是-a -b -c (有些命令选项有先后顺序)

只能查看内部命令的使用方法:

[root@localhost ~]# help echo      //内部命令查看帮助
echo: echo [-neE] [参数 ...]
    将参数写到标准输出。
    在标准输出上显示 ARG 参数后跟一个换行。
    选项:
      -n    不要追加换行
      -e    启用下列反斜杠转义的解释
      -E    显式地抑制对于反斜杠转义的解释
    `echo' 对下列反斜杠字符进行转义:
      \a    警告(响铃)
      \b    退格
      \c    抑制更多的输出
      \e    转义字符
      \f    格式提供
      \n    换行
      \r    回车
      \t    横向制表符
      \v    纵向制表符
      \    反斜杠
      \0nnn 以 NNN (八进制)为 ASCII 码的字符。 NNN 可以是
        0到3个八进制数字
      \xHH  以 HH (十六进制)为值的八比特字符。HH可以是
        一个或两个十六进制数字
    退出状态:
    返回成功除非有写错误发生。
复制代码


4.2 --help

查看外部命令帮助

[root@localhost ~]# ls --help
[root@localhost dev]# useradd --help
复制代码


4.3 man

man分九个章节默认打开第一章节。

查看命令:man 1 命令/可执行程序 (1可以省略不写,因为默认打开第一章节)

查看文件格式:man 5 系统文件名

[root@localhost ~]# whatis ls
ls (1)               - 列目录内容
    1代表第一章手册
ls (1p)              - list directory contents
    1p 代表开发程序使用
[root@localhost ~]# whatis passwd    //可以查看命令的章节
passwd (5)           - (未知的主题)
sslpasswd (1ssl)     - compute password hashes
passwd (1)           - update user's authentication tokens
[root@localhost ~]# man 5 passwd    //查看第五章内容,第5章一般是配置文件格式详细解释
[root@localhost ~]# man 7 ascii
[root@localhost ~]# man 7 UTF-8
[root@localhost ~]# mandb           //生成man数据库,man命令无效时
正在删除 /usr/share/man 里的旧数据库条目...
mandb: 警告:/usr/share/man/man8/fsck.fat.8.manpage-fix.gz:忽略错误的文件名
正在处理 /usr/share/man 下的手册页...
正在删除 /usr/share/man/hu 里的旧数据库条目...
正在删除 /usr/share/man/pl 里的旧数据库条目...
[root@localhost ~]# man man
 该清单是一组用冒号分隔的欲查找的手册清单。此选项将覆盖                MANSECT               环境变量。
              有些指令或程序可能有一个以上的主题,它们位于不同的区段中。因此,要查看较后的区 段,你可以在此指定  man
              查找区段的顺序。具体区段划分如下所示:
              区段1:用户指令
              区段2:系统调用
              区段3:程序库调用
              区段4:设备
              区段5:文件格式     shadow passwd fstab
              区段6:游戏
              区段7:杂项
              区段8:系统指令
              区段9:内核内部指令
              区段n:Tcl或Tk指令
复制代码


4.4 info

info也可以查看相关的帮助信息

[root@localhost dev]# info ls



相关文章
|
3月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
490 1
二、Linux文本处理与文件操作核心命令
|
3月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
336 137
|
3月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
779 57
|
6月前
|
JSON 自然语言处理 Linux
linux命令—tree
tree是一款强大的Linux命令行工具,用于以树状结构递归展示目录和文件,直观呈现层级关系。支持多种功能,如过滤、排序、权限显示及格式化输出等。安装方法因系统而异常用场景包括:基础用法(显示当前或指定目录结构)、核心参数应用(如层级控制-L、隐藏文件显示-a、完整路径输出-f)以及进阶操作(如磁盘空间分析--du、结合grep过滤内容、生成JSON格式列表-J等)。此外,还可生成网站目录结构图并导出为HTML文件。注意事项:使用Tab键补全路径避免错误;超大目录建议限制遍历层数;脚本中推荐禁用统计信息以优化性能。更多详情可查阅手册mantree。
621 143
linux命令—tree
|
2月前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
590 2
|
3月前
|
缓存 监控 Linux
Linux内存问题排查命令详解
Linux服务器卡顿?可能是内存问题。掌握free、vmstat、sar三大命令,快速排查内存使用情况。free查看实时内存,vmstat诊断系统整体性能瓶颈,sar实现长期监控,三者结合,高效定位并解决内存问题。
362 0
Linux内存问题排查命令详解
|
3月前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
338 16
|
5月前
|
监控 Linux 网络安全
Linux命令大全:从入门到精通
日常使用的linux命令整理
1041 13
|
6月前
|
Linux 网络安全 数据安全/隐私保护
使用Linux系统的mount命令挂载远程服务器的文件夹。
如此一来,你就完成了一次从你的Linux发车站到远程服务器文件夹的有趣旅行。在这个技术之旅中,你既探索了新地方,也学到了如何桥接不同系统之间的距离。
1216 21
|
6月前
|
监控 Linux
Linux系统中使用df命令详解磁盘使用情况。
`df`命令是Linux系统管理员和用户监控和管理磁盘空间使用的重要工具。掌握它的基本使用方法和选项可以帮助在必要时分析和解决空间相关问题。简洁但功能丰富,`df`命令确保了用户可以快速有效地识别和管理文件系统的空间使用情况。
496 13