参考源
感谢Thanks♪(・ω・)ノ
介绍
linux命令是用户告诉计算机去执行什么操作的指令
命令格式
主命令 [命令选项] [参数]
PS:
① {花括号,必选项}
② [中括号,可选项]
③ 主命令、命令选项、参数区分大小写
举例:
ls -a /tmp 等价 ls –all /tmp
解释:
ls 命令
-a 命令选项 简写使用- 全写--
/tmp 参数
linux 命令分为:
- 内部命令
- 外部命令
内部命令
内部命令是linux内核自带的,执行效率更高
外部命令
外部命令需要安装以后才能使用,但是系统默认已经为你安装了很多外部命令,供大家使用。
type命令
使用type
命令来区分命令是内部还是外部命令
[root@www ~]# type type
type 是 shell 内嵌
[root@www ~]# type cd
cd 是 shell 内嵌
[root@www ~]# type clear
clear 是 /usr/bin/clear
linux命令存放路径
echo $PATH
,输出环境变量
[root@www ~]# echo $PATH
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
区别:bin的命令任何人都可以使用,sbin的命令称为特权命令,只能管理用使用
linux基本命令
1. 清屏命令 clear 快捷键:ctrl + l (图形界面下,内容并没有消失,往上拉可以看见)
2. 帮助命令
man
例如:man ls
man命令后面可以加一个数字参数,表示具体的范围定位:
数字"1"表示用户命令
数字"2"表示系统调用
数字"3"表示C语言库函数
数字"4"表示设备或特殊文件
数字"5"表示文件格式和规则
数字"6"表示游戏及其他
数字"7"表示宏、包及其他杂项
数字"8"表示系统管理员相关的命令
info
例如:info ls
--help
例如:cal --help
大部分命令的-h选项是--help选项,有些命令甚至没有-h or --help选项,或者有其他用途
-h
例如:cal -h
3. 主机名
查看主机名
hostname
hostname -f 查看FQDN
cat /etc/hostname
nmcli general hostname
uname -n
echo $HOSTNAME
修改主机名
临时
hostname hardy9sap
永久
vim /etc/hostname
nmcli general hostname hardy9sap
4. 日历查看命令
cal 查看当前月份的日历
cal -y 查看当年的所有日历
cal 1997 查看指定年份的所有日历
cal 9 1997 查看指定年份的指定月的日历
5. 日期查看命令
date 查看当前日期和时间
date "月日时分年" 设置日期时间
date -s "时:分:秒" 设置时间,日期不会被重置
date -s "年-月-日" 设置日期,时间会被重置为0
date -s "时:分:秒 年-月-日" 设置日期时间
date +"%F %T" 时间格式化
格式符:
%F 日期,例如:2019-12-07
%T 时间,例如:21:32:14
%x 日期,例如:2019年12月07日
%X 时间,例如:21时32分54秒
%a 英文缩写星期,例如:Sat (如果系统语言是中文,则为六)
%A 英文全称星期,例如:Saturday (如果系统是中文,则为星期六)
%b 英文缩写月份,例如:Dec (如果系统语言是中文,则为12月)
%B 英文全称月份,例如:December (如果系统语言是中文,则为十二月)
%Y 4位数字的年份,例如:2019
%y 2位数字的年份,例如:19
%m 月份
%d 工作日
%H 小时,24小时制
%M 分钟
%S 秒数
%I 小时,12小时制
%p AM or PM
%j 一年中的第几天
%w 一周中的星期几,0 - 6,0代表星期日
%W 一年中的第几周,星期一为一周的第一天
%U 一年中的第几周,星期日为一周的第一天
%z 时区,例如:+0800
%Z 时区标识,例如:CST,UTC
6. 硬件时钟
hwclock 查看当前硬件时钟
hwclock -s 将硬件时钟同步到系统时间
hwclock -w 将系统时间同步到硬件时钟
hwclock -u 硬件时钟以及系统时间与同步UTC时间
--utc
hwclock --localtime 显示本地日期时间
hwclock -r 显示当前日期时间
--show
7. 时区选择
tzselect
8. 查询字符集
locale 查看当前使用的字符集
locale -a 查看系统上所有的字符集
9. 计算器命令
bc 启动计算器
bc -l 数学模式
bc -q 不显示登录信息
使用指令:
quit 退出
scale=2; 设置精度
10. 命令存放路径
which cd 命令存放绝对路径
whereis cd 命令存放绝对路径、源代码目录、帮助文档目录
11. 显示当前工作路径
pwd
12. 查看当前用户名
whoami
13. 查看谁登录了操作系统
who
14. 查看谁登录了操作系统以及在干什么
w
15. 用户名 登录设备 登录时间
who am i
16. 查看当前终端设备
tty
17. tty与pts
tty就是字符终端
pts就是字符终端下开启的终端(在图形界面下)
18. 显示当前操作系统和机器信息
uname 内核名字
uname -s 内核名字
uname -n 主机名
uname -r 内核版本
uname -v 内核发布日期
uname -m 机器名
uname -p 处理器类型
uname -i 硬件平台
uname -o 操作系统类型
uname -a 输出以上全部
注意:如何查看你的linux是否为稳定版
[root@www ~]# uname -r
3.10.0-693.2.2.el7.x86_64
3 主版本号
10 次版本号 偶数为稳定版 奇数为开发版
0 派生版本号
693 修改次数
19. 注销、退出会话
logout 快捷键 ctrl + d
20. 重启计算机
所有用户:
reboot
root用户:
init 6
shutdown -r now 立即重启
shutdown -r +5 5分钟后重启
shutdown -r +20:30 20:30重启
shutdown -r +5 "The system will reboot after 5 minutes." 可以加额外的信息
21. 关闭计算机
所有用户:
halt
poweroff
root用户:
shutdown -h now 立即关机
init 0
22. 延迟指定时间
sleep 3
==> sleep 3s (s,秒;h,时;m,分钟;d,天数)
23. 输出文本
echo "123" (单引号、双引号都可以;区别在于:单引号不能识别变量,而双引号可以)
echo -n 'abc' -n 表示输出后不换行,也就是默认会在输出之后换行
echo $? 输出上一条命令的执行状态(0,成功;非0,失败)
echo $PATH 输出环境变量
echo $LANG 输出系统语言和字符集
echo $PS1 提示符变量
echo $USER 当前用户
echo $UID 当前用户uid
echo $HOSTNAME 主机名
echo $[1+3+2] 数学运算
24. 别名
alias 查看系统上所有的别名
alias rm cp 查看指定命令的别名
alias rm="echo do not use rm" 设置别名(临时)
永久设置别名:
Step1: vim /etc/profile or vim /etc/bashrc
Step2: alias rm="echo do not use rm"
Step3: source /etc/profile or source /etc/bashrc
相当于国法:
/etc/bashrc
/etc/profile
相当于地方法:
~/.bashrc
~/.bash_profile
让别名失效:
\rm 使用\开头
25. 链接
ln 源 目的 创建硬链接
ln -s 源 目的 创建软链接
-f -f选项,强制覆盖
26. 管道符
| 将命令1执行的结果作为命令2执行的参数
例如:
echo "scale=2;1/3" | bc
27. 统计目录大小
du -sh
du -sh *
28. 查看文件行数、单词数、字节数
wc /etc/passwd 查看文件行数、单词数、字节数
wc -l /etc/passwd 查看文件行数
wc -w /etc/passwd 查看文件单词数
wc -c /etc/passwd 查看文件字节数
wc -m /etc/passwd 查看文件字符数
29. 提取文件中每行中的内容
cut -c5 /etc/passwd 提取/etc/passwd中每行的第五个字符
-c 字符
-c1 每行第一个字符
-c1,2,3 每行第一、二、三个字符
-c-5 每行第一个 ~ 第五个字符
-c5- 每行第五个字符 ~ 最后一个字符
-c1-10 每行第一个字符 ~ 第十个字符
-b 字节
-d 指定分隔符
-f 指定字段(不能和-c一起用)
cut -d: -f3 /etc/passwd
30. 查看命令使用的历史记录
history 默认显示最近使用的1000条命令
history 5 表示显示最近使用的5条命令
!编号 执行此历史命令
!his 写一部分,执行此历史命令
历史命令记录在:
~/.bash_history
文件中可保存2000条
31. 设置系统语言
echo "export LANG="en_US.UTF-8" >> /etc/profile
source /etc/profile
32. 生成序列
seq 10 生成1 - 10的序列
seq 1 2 10 生成1 - 10的序列,并且步长为2
seq 10 -1 1 生成10 - 1的序列
33. 创建一个大文件
dd if=/dev/zero of=/opt/abc.txt bs=1G count=1
34. 文件备份
① 文件切割
改名 --> 新建
② 打包
tar
35. &&符号运用
ls /etc && pwd 先执行ls/etc再执行pwd
36. 连接到远程执行命令
ssh root@IP "bash xxx"
37. 比较两个文件
diff file1 file2
38. 查看CPU信息
lscpu --> /proc/cpuinfo
39. XShell下使用ssh
ssh root@10.0.0.100 22 (后面直接跟端口,默认22可以不用写)
40. Linux终端下使用ssh
ssh root@10.0.0.200 -p 22 (接端口要加-p)
41. 从标准输入设备上读并且输出到标准输出和文件
tee
-a 追加内容到文件
-i 忽略终止信号,也就是ctrl + c
ctrl + z 可中断任务,将任务挂起
42. 树结构查看
tree -L 1 /
43. 同步数据到磁盘
sync
linux快捷键
ctrl + alt + F[1 - 6]
终端切换ctrl + shfit + t
在图形界面下的当前终端,新建另一个终端窗口标签ctrl + shift + n
在图形界面下的当前终端,弹出另一个终端窗口ctrl + shift +w
在图形界面下,关闭当前终端窗口ctrl + shift + q
在图形界面下,关闭所有终端窗口ctrl + shift + +
图形界面下,放大终端ctrl + -
图形界面下,缩小终端esc + .
输出上一条命令的最后一部分!!
执行上一条命令ctrl + c
强制终止命令,发送 SIGINT 信号ctrl + z
中断命令,将命令挂起ctrl + d
终止输入或退出shellctrl + u
删除/剪切光标前所有的字符ctrl + k
删除/剪切光标后所有的字符ctrl + w
往光标位置前一直删除直到第一个空白字符为止(相当于删除英文单词)ctrl + y
粘贴由ctrl+u或ctrl+k删除的部分ctrl + r
搜索历史命令ctrl + a
移动到命令开头ctrl + e
移动到命令末尾ctrl + l
清屏