Linux Shell命令行的基本知识及命令

发布时间:2024年01月17日

本文适合零基础入门,是自己的学习和总结,仅供参考。?

一、进入命令行界面

可以通过以下三种方法:

?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目录
llink类型,相当于快捷键
b用于存储的设备
c支持串行的设备,如键盘、鼠标等

10.3 文件的权限

有9位,以三个为一组,且都以 rwx 为顺序的组合。
其中:?

字母全称说明
rread可读
wwrite可写
xexecute如果文件类型是文件,则代表可执行;如果文件类型是目录,则代表可进入。
- 代表没有权限

共三组(以 -rw-r--r--为例 => [rw-]、[r-x]、[r--] :

第1组User(rw-): 该文件的拥有者的权限:可读写,但不能执行
第2组Group(r--): 与该文件的拥有者同组的用户的权限:只能读,不能写和执行
第3组Others(r--):不是拥有者且不是与拥有者同组的其他用户权限:只能读,不能写和执行

?

文章来源:https://blog.csdn.net/weixin_41479603/article/details/135627112
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。