目录...如果你是再次点开这个页面,不妨点个赞。 kiss kiss~~
kiss kiss~~)
Linux命令
linux命令的优点:
- 一切都是一个文件。(包括硬件,文本,二进制,源代码)
- 系统中拥有小型,单一用途的程序。(一个程序只负责做好自己的本职工作)
- 当遇到复杂任务,通过不同功能用途的程序组合起来完成。 轻量级,一台服务 dhcp ip 数据库服务 网页
- 避免令人困惑的用户界面就是没有复杂的图形界面。
- 连配置文件都存储在文本中,方便增删改查。
- 不在乎后缀名,有没有都无所谓,不是通过后缀名来定义文件的类型。
- 强大的脚本和自动化能力:Linux命令提供了广泛的脚本和自动化支持。
总的来说,Linux命令具有强大的功能和灵活性,可以满足各种系统管理和开发需求。
Linux 命令精讲
相信大家都了解Windows,windows是面向用户的系统,图形化界面操作,点点对话框便可以完成操作,那linux是已系统精简出名的,所以不是面向用户的操作系统,有一定的操作难度,具体可以看[不甘平凡※]的这篇“Linux 命令精讲——Linux命令概述(一)”
Linux命令基础知识
linux常用文件夹
/:根目录
/boot: 系统启动的文件
/dev: 放硬件设备,类似硬盘
/etc: 放系统的默认配置
(/var/)log:日志文件
/opt: 空的文件,放第三方软件
/tmp: 临时文件
拓展:
/home: 客户主目录的基点,例如uesr的主目录是/home/user(~user)
/root: 超级用户的主目录
/sbin: 超级管理员使用的二进制命令
/bin: 普通用户二进制命令
/proc: 进程
/sys: 系统
/usr: 小根
linux常用命令
#($) ls:查看文件
#cd:切换目录 (例如#cd …/…/aa/ee #cd /date/aa/cc )
#cp:复制粘贴文件
#mkdir:创建目录
#tar:打包文件
#cat:查看文件内容
#vim:新建文件
#mount 挂载
#tail -f:命令的实时监视模式,可以按下键盘上的 Ctrl + C 组合键来终止命令的执行。
【root@localhost ~】
root: 当前登录用户
localhost: 当前主机名
~当前用户的家目录,/当前所在根目录
#超级用户提示符,$普通用户提示符
rw- r-- r–. 权限 读r 写w 执行x
rwx 文件拥有者 rwx 拥有组 rwx 其他人 read 读 - write 写
通配符:匹配文件的名字
#关机命令:
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]’
shell
什么是shell(壳),怎么在硬件和用户之间翻译?
shell是Linux系统中后台运行的一种特殊程序也可以理解成一种特殊的软件,提供了用户与内核进行交互操作的一种接口。
Bash 是 Linux 操作系统中默认使用的 Shell 程序,文件位于/bin/bash。
[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#
切换到 Bourne Shell 环境,你将处于一个新的 Shell 会话中,可能需要重新加载和设置你的环境变量、别名等配置。此外,不同的用户可能有不同的 Shell 偏好和需求,因此切换 Shell 环境是根据具体情况和需要来决定的。
shell与内、外部命令☆
内部命令 | 外部命令 |
---|---|
集成于Shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于Shell的一部分 | 属于Shell解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由Shell加载后才能执行 |
此引用为CSDN博主「不甘平凡※」的原创文章
————————————————
内部命令:是指集成于 Shell 解释器程序(如 Bash)内部的一些特殊指令,也称为内建(Built-in)指令。内部命令属于 Shell 的一部分,所以没有单独对应的系统文件,只要: Shell 解释器被运行,内部指令也就自动载入内存了,用户可以直接使用。内部命令无须从硬盘中重新读取文件,因此执行效率较高。
外部命令:是指 Linux 操作系统中能够完成特定功能的脚本文件或二进制程序,每个外部命令对应系统中的一个文件,是属于 Shell 解释器程序之外的命令,所以称为外部命令。Linux 操作系统必须知道外部命令对应的文件位置,才能够由 Shell加载并执行。
————————————————
原文链接:https://blog.csdn.net/LS19990712/article/details/101685377
help命令可以查看内部命令
[root@localhost opt]# help
GNU bash, 版本 4.2.46(2)-release (x86_64-redhat-linux-gnu)
这些 shell 命令是内部定义的。请输入'help' 以获取一个列表
。
输入'help 名称' 以得到有关函数
名称’的更多信息.
使用info bash来获得关于 shell 的更多一般性信息
使用'man -k'
或info'
来获取不在列表中的命令的更多信息`.
名称旁边的星号 (*) 意味着该命令被禁用.
可以使用 type 命令来区分内外部命令
开启或关闭内部命令
关闭:enable -n 内部命令
开启:enable 内部命令
[root@localhost opt]# enable -n cd
[root@localhost opt]# cd /mnt/
[root@localhost opt]#
hash
缓存空间
hash -d 加缓存里的命令 单独删除
hash -r 删除所有
将缓存的外部命令移到其他默认的目录中,无法再次使用,需要清掉hash值之后 ,才可以继续使用。
- (判断是否是内部命令 ,是直接执行, 不是 去看hash缓存表 如果hash 表有直接执行,有 但是找不到 报错如果是第一次执行的外部命令,会去规定的文件夹找命令,如果没有会报错)
- 绝对路径>别名>内部>hash>外部命令(先查找别名在查找内部命令,缓存最后外部)
命令行格式
- 在 Linux 操作系统中,凡是在字符操作界面中输入能够完成特定操作和任务的字符串都
可以称为命令。 - 严格来说,命令通常只代表实现某一类功能的程序的名称
- 格式
命令字 空格 [选项] 空格 [参数]
解释命令字 选项 参数各自的意思及具体使用方式
- 命令字
是整条命令最关键的一部分
唯一确定 - 选项
短格式选项:使用“-”符号引导 通常 一个字母
长格式选项:使用“–”符号引导 通常完整的单词
3.参数
命令字的处理对象
可以是文件名、目录(路径)名或用户名等内容
个数可以是零到多个
;可以隔开命令,执行多个命令
编辑Linux命令行的辅助操作
快捷键 | 功能 |
---|---|
Tab键 | 自动补齐(两次可以显示所有项目) |
反斜杠“\” | 强制换行或转义 |
Ctrl+a | 光标移到最前面 |
Ctrl+e 或 end键 | 光标移到最后 |
Ctrl+U | 清空至行首不包括当前光标处的字符 |
Ctrl+K | 清空至行尾包括当前光标处的字符 |
Ctrl+W | 从当前光标删除到开头 |
Alt+D | 从当前光标删除末到尾 |
Ctrl+L | 清屏 |
Ctrl+C | 取消本次命令编辑 |
Ctrl+S/Ctrl+Q | 锁屏/解锁 |
Ctrl+R | 寻找前面的执行过的命令 |
向上下箭头 | 会看执行过的任务 |
反斜杠举例
cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DEXTRA_CHARSETS=all
-DSYSCONFIDIR=/etc
-DMYSQL_DATADIR=/home/mysql/
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock
(
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DSYSCONFIDIR=/etc -DMYSQL_DATADIR=/home/mysql/ -DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock
)
获得命令帮助
help
help 命令本身是 Linux Shell 中的一个内建指令,其用途是查看各 Shell 内部命令的帮助信息。使用help命令时,只需要添加内部指令的名称作为参数即可。例如“help pwd”、“help echo”等
格式说明
- []表示可选项
- CAPS或<>表示可变化的数据
- …表示一个列表可加多一个或多个
- x|y|z|(“|”)表示或的意思
- -abc是-a-b-c(有些命令选项有先后顺序)多个-abc一般而言是没有顺序先后(绝大多数是没有的),只有少数分先后
–help
查看外部命令帮助
[root@localhost ~]# ls --help
[root@localhost dev]# useradd --help
man
man分九个章节默认打开第一章节(menu菜单 manual手册)
[root@localhost ~]# man man
info
info命令与man命令相似,都用于查看命令和软件的帮助文档,但它们的格式和内容有所不同。
运行info命令后,进入一个帮助文档的主菜单,显示帮助文档的目录和一些常用命令。
使用箭头键(上、下、左、右)在不同的节点之间进行浏览。按Enter键进入所选节点的详细内容。
按q键退出帮助文档。
按/键进入搜索模式,输入要搜索的关键字,然后按Enter键进行搜索。
在帮助文档的主菜单中,按h键查看帮助命令和快捷键的说明
目录和文件
linux/usr目录
子目录 | 功能(作用) |
---|---|
/usr/bin/ | 存放系统命令,普通用户和超级用户都可以执行。这些命令和系统启动无关,在单用户模式下不能执行 |
/usr/sbin/ | 存放根文件系统不必要的系统管理命令,如多数服务程序,只有 root 可以使用。 |
/usr/lib/ | 应用程序调用的函数库保存位置 |
/usr/XllR6/ | 图形界面系统保存位置 |
/usr/local/ | 手工安装的软件保存位置。我们一般建议源码包软件安装在这个位置 |
/usr/share/ | 应用程序的资源文件保存位置,如帮助文档、说明文档和字体目录 |
/usr/src/ | 源码包保存位置。我们手工下载的源码包和内核源码包都可以保存到这里。不过笔者更习惯把手工下载的源码包保存到 /usr/local/src/ 目录中,把内核源码保存到 /usr/src/linux/ 目录中 |
/usr/include | C/C++ 等编程语言头文件的放置目录 |
linux /var 目录
/var子目录 | 功能(作用) |
---|---|
/var/lib/ | 程序运行中需要调用或改变的数据保存位置。如 MySQL 的数据库保存在 /var/lib/mysql/ 目录中 |
/var/log/ | 登陆文件放置的目录,其中所包含比较重要的文件如 /var/log/messages, /var/log/wtmp 等。 |
/var/run/ | 一些服务和程序运行后,它们的 PID(进程 ID)保存位置 |
/var/spool/ | 里面主要都是一些临时存放,随时会被用户所调用的数据,例如 /var/spool/mail/ 存放新收到的邮件,/var/spool/cron/ 存放系统定时任务。 |
/var/www/ | RPM 包安装的 Apache 的网页主目录 |
/var/nis和/var/yp | NIS 服务机制所使用的目录,nis 主要记录所有网络中每一个 client 的连接信息;yp 是 linux 的 nis 服务的日志文件存放的目录 |
/var/tmp | 一些应用程序在安装或执行时,需要在重启后使用的某些文件,此目录能将该类文件暂时存放起来,完成后再行删除 |
cd(change directory)
[root@localhost ~]# cd /data
[root@localhost data]# cd /
[root@localhost /]# cd ~
[root@localhost /]#
命令 | 效果 |
---|---|
cd (cd ~) | 若不指定目标位置,切换到当前用户的宿主目录(家目录) |
cd - | 到前一次目录 |
“.” | 当前目录 |
“…” | 上一个目录 |
“~用户名” | 制定用户的目录 |
“.”开头的文件 | 隐藏文件 |
[root@localhost opt]#cat passwd=[root@localhost opt]#cat ./passwd
[root@localhost /]#cd /data/aa //**绝对路径**
[root@localhost aa]#cd ../../ //**相对路径**
[root@localhost /]#
alias.别名设置
临时修改
- alias 命令别名 = ’命令‘
- unalias 别名命令 删除别名
- \加别名命令 (显示原始命令)
]# alias 自定义命令=‘要优化的命令’
]unalias 自定义命令
]alias 单独打可以显示 所有别名的命令
\别名 取消别名
永久修改
- 在/etc/.bashrc 会影响全部
- /root/.bashrc只影响当前用户
补充:绝对路径>别名>内部>hash>外部命令(先查找别名在查找内部命令,缓存最后外部)
[root@localhost ~]#alias ll='ls -l' //用ll 来代替 ls -l
[root@localhost ~]#alias grep='grep --color=auto'
//grep设置为带有--color=auto参数的别名;使用grep命令时,匹配的文本会以不同颜色显示,更容易区分。
[root@localhost ~]#alias update='sudo apt update && sudo apt upgrade'
//update命令将会先运行sudo apt update更新软件包列表,然后再运行sudo apt upgrade进行软件包升级。
[root@localhost ~]#unalias ll //取消之前设置的ll 别名
文件类型
- “-” 普通文件
- “l” 符号链接文件
- “b” 块设备block 比如直接读1块 /dev 4k (512*8(扇区)=4096字节=4k)
- “c” 字符文件 character
- “d”目录文件
- “s”套接字文件socket 可以双向(程序之间的信息交流)
- “p”管道文件的pipe A-管道文件-B A写 B读 单向的
file命令可以识别文件类型,文件后缀无法判断文件类型。
[root@localhost data]# ls /run/
autofs.fifo-misc
#管道
gssproxy.sock
#套接字
通配符
去匹配文件名(包括文件夹)
- 星号 *: 代表零个或多个字符。例如,*.txt 匹配所有以 .txt 结尾的文件名。
- 问号 ?:代表一个字符。例如,file?.txt 匹配 file1.txt、file2.txt 等文件名。
- 方括号 []:用于匹配方括号内的任意一个字符。例如,file[123].txt 匹配 file1.txt、file2.txt 和 file3.txt。
- 花括号 {}:用于表示多个可能的选项。例如,{a,b,c}.txt 匹配 a.txt、b.txt 和 c.txt。
示例:
ls *.txt //列出当前目录下所有以 .txt 结尾的文件
find . -type f -name "*.jpg" -o -name "*.png" //查找当前目录及子目录下所有以 .jpg 或 .png 结尾的图片文件
rm *.tmp //删除当前目录下所有以 .tmp 结尾的临时文件
cp *.{doc,docx} /path/to/destination/ //复制所有以 .doc 和 .docx 结尾的文件到另一个目录
求求了~ 文章有问题就指点一二
实在不行,你评论里喷我两句!
大爷下次再来玩啊~ kiss kiss~ (挥手帕)