本文适合零基础入门,是自己的学习和总结,仅供参考。
一、进入命令行界面
可以通过以下三种方法:
1. 利用已安装的centos7 操作系统虚拟机进入
键盘按住 [Ctrl] + [Alt]的同时,按以下键:
[F2] ~ [F6] :进入tty2 ~ tty6 命令行终端;
想再切回图形界面: [Ctrl] + [Alt] + [F1]
2. 利用windows下的ssh工具登陆远程sshd服务器的终端,如 putty.exe
命令格式:putty.exe [登陆用户名]@<主机ip地址或名称>
如: putty.exe train@xx.xxx.xx.xx,提示输入的密码: train
3. 在本地windows系统中安装的git-bash程序进入:
git-bash
是Windows
操作系统下模拟Linux
命令行模式,拥有常见的命令集,可以做为 Linux
命令练习环境。根据操作系统的情况(32位/64位)下载对应的安装包。在目标目录下右键菜单选中"Git bash here" 弹出命令行窗口。
* 利用以上方式登录命令行后,我们会发现:
以root用户登陆后,提示符会显示 #
以非root用户登陆后,提示符则显示 $
二、 Shell命令行的一般格式
命令名称 [-选项] 参数1 参数2 参数3 参数4 ...
注意点:
(1) 它们之间都有一个空格,且多个空格也会被视为一个空格,?很重要! 如果参数有空格时,一般是在前后加双引号。
(2) Linux 系统中命令名是大小写敏感的,也就是 "cd" 与 "CD" 是不一样的,后者是没有相应的命令的。
(3) 如果命令太长,可以行的结束前添加 反斜扛(\),再按[Enter]另起一行编写剩下的命令
例子:
要求:列出~目录下所有隐藏的文件或目录
以下3种命令都可以得到同样的结果
ls -al ~
ls -al ~
ls -a -l ~
最后命令已写好,如果要马上执行就按[Enter]。
三、设置命令行的输出编码
3.1 查看当前环境的编码: locale
命令行中输入:locale
输出结果:
3.2 设置新编码避免中文乱码
有时命令行输出的结果有乱码,可以通过以下命令解决:
LANG=en_US.utf8
export LC_ALL=en_US.utf8
#或
LANG=zh_CN.gbk
export LC_ALL=zh_CN.gbk
四、命令行下最常用四个快捷键
- [Tab]键,主要是用于命令名称补全、文件全称补全及参数补全,是命令编写的好助手。其中 参数补全 需要再安装 bash-completion 软件才能实现
- [Ctrl]+C 组合键,可以中断当前程序
- [Ctrl]+D 组合键,离开当前命令行窗口,相当于命令 exit 的效果
- [Shift]+[PageUp/PageDown] 组合键,用于向上或向下查看命令行窗口历史输出结果
五、三个基础命令
5.1 date 得到当前系统时间
#得到当前系统时间
date
#得到当前系统时间,只输出日期部分
date +%Y/%m/%d
#得到当前系统时间,只输出时分部分
date +%H:%M
#设置当前系统的时间(只能在root用户下)
date -s "2024-01-16 20:01:01"
5.2 cal 命令行下显示日历
命令格式: cal [月份] [年份]
#显示当前月份的日历:
cal
#显示2018年全年的日历:
cal 2018
#显示2018年7月的日历:
cal 7 2018
5.3 bc 命令行下的简单计算器
直接输入:bc 命令就可运行, 通过输入数字和
+、-、*、/(除)、^(指数)和%(余数)等运算符进行计算,
默认情况下是整数运算,如果要开启小数运算,则需要输入scale=[小数位数]。
退出离开请输入 quit
以上在交互模式下的操作,有时也用于表达式计算:
$>echo "1.212*3" | bc
3.636
$>echo "scale=2;3/8" | bc
0.37
六、学会看输出错误信息
[test@gg ~]$ DATE
-bash: DATE: command not found
看到这个“command not found” 输出错误,其实就不外乎以下三种情况:
命令不存在,没有安装相应的应用,只要安装就可以解决
对应的命令路径,没有添加到全局命令搜索变量PATH中
命令名称写错了
七、查看命令帮助
可以试着在命令下输入 g[Tab][Tab] (点两次Tab键)命令可能会有200多个以上的可用命令,
这只是其中的一部分,Linux 的命令是太多了,我们不可能记住所有命令使用方法。
可通过compgen命令查看可用的命令列表: compgen -c
有什么好方法可以得到命令的使用帮助说明?
7.1 利用 --help 参数
命令格式: <命令名称> --help
例如:date --help
7.2 man 帮助页面
man 是 manual 的简写,中文是“手册”的意思。
通过它可以获得比"--help”更多的关于命令的帮助说明。
命令格式:man <命令名称>
例如:man date
man页面说明:
括号中的数字的意义
这里我们发现第一行有内容“DATE(1)”,这里的1是有意义的,代表的意义:
可以再试一下命令man null
主要的组成部分说明
该命令相于用vi命令打开了一个文本进行操作,不过是只读模式。
7.3 info帮助页面
命令格式:info <命令名称>
比man命令更详细的,类似wiki一样有章节的帮助文档。
提示:在查看的时候,可以按 h 获得快捷键操作说明。
7.4 直接到 /usr/share/doc 目录下去查看文档
那里有很多说明文件文档
八、一个简单文本编辑器命令 nano
格式:nano <文件名>
它相比 vi 更贴近 windows操作,简单易用。
九、了解关机的正确方法
由于Linux允许多人同时多任务作业,这时关机操作就显得“危险”:
若不正常关机,则可能造成文件系统的毁损
正确的关机方法:
9.1. 观察系统的使用状态 利用以下命令:
- who 可看到当前主机所有的使用者列表
- netstat -a 查看当前所有运行进程使用网络的情况
- ps -aux 查看当前所有运行进程列表
9. 2. 通知在线使用者关机的时刻
比如:在关机之前的10分钟通知在线用户关机的消息
/sbin/shutdown -h 10 'I will shutdown after 10 mins'
9.3. 正确的关机指令使用
- 将数据同步从内存写入硬盘中的指令: sync
- 惯用的关机指令: shutdown
- 重新启动, 关机: reboot, halt, poweroff
* 注意: 有些系统只允许root用户才能执行 shutdown和reboot等命令; centos 是允许终端执行以上命令的。
十、认识文件
Linux 的世界都是文件!
10.1 当执行以下命令ls :
ls -lhi /etc/hosts
会得到以下结果:
第1列: inode 号码,存储地址
第2列: 文件类型+权限
第3列: 硬链接数
第4列: 属主-所有者(owner)
第5列: 属组-所有者属于的组(group)
第6列: 文件大小(bytes为单位)
第7列: 文件的创建时间或修改时间
第8列: 文件或目录的名字(不属于属性)
10.2 文件的类型符号对应
只有1位
符号 | 类型 |
- | 文件 |
d | 目录 |
l | link类型,相当于快捷键 |
b | 用于存储的设备 |
c | 支持串行的设备,如键盘、鼠标等 |
10.3 文件的权限
有9位,以三个为一组,且都以 rwx 为顺序的组合。
其中:
字母 | 全称 | 说明 |
r | read | 可读 |
w | write | 可写 |
x | execute | 如果文件类型是文件,则代表可执行;如果文件类型是目录,则代表可进入。 |
- | 代表没有权限 |
共三组(以 -rw-r--r--为例 => [rw-]、[r-x]、[r--] :
第1组User(rw-): 该文件的拥有者的权限:可读写,但不能执行
第2组Group(r--): 与该文件的拥有者同组的用户的权限:只能读,不能写和执行
第3组Others(r--):不是拥有者且不是与拥有者同组的其他用户权限:只能读,不能写和执行