命令行及命令参数

1、命令行提示符

我打开一个图形模式的终端,如下图:

我们看到终端的一行中开头是一串字符"liuawen@DESKTOP-HVI7SH0:~$",后面是闪动的光标,提示我们输入会从光标处开始。

开头那一串字符串是什么意思呢?

是“命令行提示符”,就是提示我们在其后面输入命令。

在我们输入新的一行命令前,这个命令提示符都会出现。

"liuawen@DESKTOP-HVI7SH0:~$"这一串字符串到底表示什么意思呢?

  • liuawen 这是当前用户的名字

  • @ @ 表示英语里的 at,是“在…里面”的意思。@ 前面是用户名,后面是所在的域;

  • DESKTOP-HVI7SH0 这是当前电脑/主机的名字,liuawen@DESKTOP-HVI7SH0就表示DESKTOP-HVI7SH0这台计算机的liuawen这个用户。DESKTOP-HVI7SH0这个是可以修改的。

  • : 冒号 分隔符 没特别含义

  • ~ 这是当前所在目录的名字,会随着用户进入不同目录而改变。~ 表示当前用户的家/主目录。/home/liuawen

    liuawen@DESKTOP-HVI7SH0:~$ pwd
    /home/liuawen
    liuawen@DESKTOP-HVI7SH0:~$ ls
    git play-spring-family play-spring-family-ssh play_spring_family sources.list
    liuawen@DESKTOP-HVI7SH0:~$ cd git
    liuawen@DESKTOP-HVI7SH0:~/git$ pwd
    /home/liuawen/git
    liuawen@DESKTOP-HVI7SH0:~/git$
  • $表示当前用户具有的权限的字符

    在Linux系统中有两种可能:

    $ 美元符号,表示普通用户,有权限的限制,我这里liuawen就是一个普通用户

    # 井号 表示超级用户 root,root拥有系统所有权限。

    liuawen@DESKTOP-HVI7SH0:~$ su root
    Password:
    ➜ liuawen pwd
    /home/liuawen
    ➜ liuawen

Q:"liuawen@DESKTOP-HVI7SH0:~$"这一串字符串什么意思呢?

A:表示当前是以liuawen这个用户登录,我的电脑名称是叫这个东西DESKTOP-HVI7SH0,我当前处于~这个目录下,liuawen用户是个普通的用户,拥有有限的权限。

切换用户为root

liuawen@DESKTOP-HVI7SH0:~$ sudo su
➜ liuawen bash
root@DESKTOP-HVI7SH0:/home/liuawen#

我用得是zsh,我输入bash 换为bash

命令sudo su 切换用户为root ,美丽天使变成了root@DESKTOP-HVI7SH0:/home/liuawen#

可以用Ctrl + D 组合键 or exit 命令 or su liuawen方式退出root身份模式

root@DESKTOP-HVI7SH0:/home/liuawen# exit
➜ liuawen
liuawen@DESKTOP-HVI7SH0:~$ pwd
/home/liuawen
liuawen@DESKTOP-HVI7SH0:~$ sudo su
➜ liuawen bash
root@DESKTOP-HVI7SH0:/home/liuawen# su liuawen
liuawen@DESKTOP-HVI7SH0:~$ pwd
/home/liuawen
liuawen@DESKTOP-HVI7SH0:~$

2、命令和命令参数

我们在终端输入命令就是让计算机做我们要求的事情。

Linux中有很多很多命令,我们不要全记得,也不要全不记得,

要记得一些常用的,那不常用的命令,我们只要懂得如何去查询使用就行了。

那如何查询呢?Linux开发者为我们提供了详细的命令使用手册manual

Linux开发者的圣经 - Linux使用手册呀

这是本参考工具书,什么命令的使用方法、各种用例,都非常非常详细地记载在这部圣经里,等着我们去读去查,就能找到自己想要地答案。 这是非常非常重要的,灵活使用manual

这个命令怎么用?RTFM Read The F*cking Manual

阅读手册的重要性

读源代码的重要性 RTFSC Read The F*cking Source Code

Google、Stackoverflow一波

简单的命令

输入一个简单的命令,开启我们的Linux之旅吧。

date

➜  liuawen date
Sun Mar 22 15:37:05 DST 2020
➜ liuawen

我们在终端输入了date 这个命令,终端显示了Sun Mar 22 15:37:05 DST 2020 这是什么意思呢?

date日期的意思,date这个命令就是显示当前时间和日期。

Sun Sunday 星期天 Mar March 三月 22 22就是22这一天,15:37:05是时刻,DST应该是夏日节约时间(Daylight Saving Time)吧。2020是年份,现在2020年了。

ls

ls命令

liuawen@DESKTOP-HVI7SH0:/$ ls
bin dev home lib media opt root sbin srv tmp var
boot etc init lib64 mnt proc run snap sys usr
liuawen@DESKTOP-HVI7SH0:/$ pwd
/
liuawen@DESKTOP-HVI7SH0:/$

ls 是 list 的缩写,list 是英语“列举,列出”的意思。所以 ls 命令用于列出当前目录下的文件和目录。

在很多时候,我们不仅仅只是输入一个命令,可能输入这个命令后还要跟一些参数。

命令参数

命令参数就是写在命令之后的一些补充选项。命令和参数之间有空格隔开。格式一般是这样:

command parameters

例如:

liuawen@DESKTOP-HVI7SH0:~$ ls
git play-spring-family play-spring-family-ssh play_spring_family sources.list
liuawen@DESKTOP-HVI7SH0:~$ mkdir d1
liuawen@DESKTOP-HVI7SH0:~$ ls
d1 git play-spring-family play-spring-family-ssh play_spring_family sources.list
liuawen@DESKTOP-HVI7SH0:~$

mkdir d1 命令是创建一个叫d1的目录

短参数(一个字母)

最常用的参数形式就是一个短横线后接一个字母。格式例如:

command -a

如果我们要一次加好几个短参数,可以用空格隔开,例如:

command -a -b -C -c

多个短参数也可以合并在一起,例如上面的命令等价于:

command -abCc

请注意:参数的字母的大小写是有区别的,大写的 C 和小写的 C 通常表示不同意思。

我们来一个实际的例子,例如ls -a 就是列出当前目录下所有文件,包括隐藏文件。参数a就是all的缩写

liuawen@DESKTOP-HVI7SH0:~$ ls -a
. .cache .sudo_as_admin_successful play-spring-family-ssh
.. .config .zcompdump play_spring_family
.bash_history .profile d1 sources.list
.bash_logout .python_history git
.bashrc .sources.list.swp play-spring-family
liuawen@DESKTOP-HVI7SH0:~$ pwd
/home/liuawen

Linux 的隐藏文件是以一个.点开头的,例如.config,大多是配置文件。

ls命令没有返回任何信息,不一定就说明当前目录下什么也没有,有可能当前目录只包含隐藏文件。

长参数(多个字母)

短参数是以一个短横线-开始,而长参数是以两个短横线--开始的。格式例如:

command --parameter

如果有多个长参数-- --,是不能像多个短参数那样合并写的。我们只能以空格隔开写,格式例如:

command --parameter1 --parameter2

我们也可以组合使用短参数和长参数,格式例如:

command -paTc --parameter1 --parameter2

有时候,同一个意义的参数有短参数和长参数两种形式,效果是一样的,可以任选哪一种。

比如ls -als --all是一个作用的,都是列出当前目录下的所有文件,包括隐藏文件什么. ..的。

ls --all哦 ,ls -al是列出当前目录下的所有文件的详细信息包括隐藏文件。

liuawen@DESKTOP-HVI7SH0:~$ ls -a
. .cache .sudo_as_admin_successful play-spring-family-ssh
.. .config .zcompdump play_spring_family
.bash_history .profile d1 sources.list
.bash_logout .python_history git
.bashrc .sources.list.swp play-spring-family
liuawen@DESKTOP-HVI7SH0:~$ ls --all
. .cache .sudo_as_admin_successful play-spring-family-ssh
.. .config .zcompdump play_spring_family
.bash_history .profile d1 sources.list
.bash_logout .python_history git
.bashrc .sources.list.swp play-spring-family
liuawen@DESKTOP-HVI7SH0:~$

参数的值

有一些参数我们还要给它赋一个值才行。

例如,短参数赋值,通常是这样的command - p 10表示把 10 赋值给 p 参数。

长参数,一般是这样赋值command --parameter=10

也是表示把10 赋值给 p 参数。

看起来长参数的方式更加容易理解,但是不如短参数那么简洁。

其它参数

参数的形式没有绝对的各种各样,可能有些命令的参数格式可能是我们没怎么见过的。

而有些参数就不一样,取决于命令。例如对于ls这个命令,如果后面带了一个参数,而这个参数是一个目录的路径名的话,那么就会列出此目录下的文件。

liuawen@DESKTOP-HVI7SH0:~$ ls play-spring-family/
README.md
liuawen@DESKTOP-HVI7SH0:~$ ls play-spring-family
README.md
liuawen@DESKTOP-HVI7SH0:~$

3、小结

使用过的命令

sudo su
date
ls
mkdir d1
ls -a
ls --all
ls play-spring-family/

1、Linux 的终端在每一行的开头处会有一个被称为“命令行提示符”的字符串,一般这个命令行提示符字符串包含了你当前的用户名、你的电脑的名字和你所在的路径。这个提示符的格式是可以自行设置;

2、我们在终端输入命令就是让计算机做我们想做的事情。

3、要多多练习命令行,熟悉命令行之后速度会比客户端桌面操作效率提高很多(第四个学期学Linux操作系统,感觉到了)。

4、命令可以单独使用,也可以带短参数、长参数、参数的值。参数就好比选项样的,可以改变命令的行为;

5、命令的参数通常是由一个短横-和一个字母组成,例如 -h;也可以由两个短横和几个字母组成,例如 --help

liuawen@DESKTOP-HVI7SH0:~$ date --help
Usage: date [OPTION]... [+FORMAT]
or: date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
Display the current time in the given FORMAT, or set the system date.

Q:浏览文件时,不同颜色代表什么意思?

A:蓝色:目录 绿色:可执行或可识别的数据文件 天蓝色:符号链接文件 黄色与黑色背景:设备 粉红色:图形图像文件 红色:存档文件 红色与黑色背景:断开的链接。

4、参考资料

1、专栏 Linux命令行与Shell脚本编程大全 - Oscar

简单记录-笔记

【Linux】1、命令行及命令参数的更多相关文章

  1. Linux命令行与命令

    Linux命令行与命令   作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Linux的命令是很重要的工具,也往往是初学者最大的瓶 ...

  2. python3获得命令行输入的参数

    外部直接执行python文件时,我们有时需要获得命令行的参数   获得命令行参数的两种方式   1.通过sys.argv sys.argv:获得一个参数列表,第一个值为文件名本身,通过sys.argv ...

  3. php从命令行中接收参数

    php一直都是作为服务器编程的主要角色,其实php也可已做脚本,比如从命令行中接收一些参数,下面就简单介绍一下如何从命令行中接收参数 代码如下: <?php var_dump($argv); ? ...

  4. Oozie命令行常用命令汇总[转]

    Oozie命令行常用命令汇总 有时候脚本跑多了就不愿意在OozieWeb端去看脚本的运行情况了.还好Oozie提供了很多命令行命令.能通过命令行直接检索自己想看到的脚本信息.在这里简单进行一下总结.一 ...

  5. Delphi的命令行编译命令

    Borland出品的Delphi,有着闪电般的编译速度,但是在界面控件使用较多.工程项目较大的时候,编译一个工程仍需要一段时间,打开庞大的Delphi IDE,也需要时间.其实,在一个工程开发结束,调 ...

  6. Windows命令行(DOS命令)教程

    一.命令行简介 命令行就是在Windows操作系统中打开DOS窗口,以字符串的形式执行Windows管理程序. 在这里,先解释什么是DOS? DOS——Disk Operation System 磁盘 ...

  7. 命令行工具命令 - run包到手机里

    命令行工具命令 你完全可以选择不输入以下这些命令,执行这些命令的结果与在 Android Studio 中单击"运行"按钮是一样的. chmod +x gradlew - 此命令只 ...

  8. Windows命令行(DOS命令)教程 -1 (转载) http://www.pconline.com.cn/pcedu/rookie/basic/10111/15325.html

    一.命令行简介 命令行就是在Windows操作系统中打开DOS窗口,以字符串的形式执行Windows管理程序. 在这里,先解释什么是DOS? DOS--Disk Operation System 磁盘 ...

  9. Java命令行的执行参数

    Java 程序命令行参数说明 启动Java程序的方式有两种: # starts a Java virtual machine, loads the specified class, and invok ...

随机推荐

  1. 【Azure Developer】通过Azure提供的Azue Java JDK 查询虚拟机的CPU使用率和内存使用率

    问题描述 在Azure上创建虚拟机(VM)后,在门户上可以查看监控指标(Metrics),如CPU Usage,Memory,Disk I/O等.那如何通过Java 代码获取到这些指标呢? 关于VM ...

  2. iOS10 App适配权限 Push Notifications 字体Frame 遇到的坑!!!!

    添加配置权限 <!-- 相册 --> <key>NSPhotoLibraryUsageDescription</key> <string>"x ...

  3. Unity状态机(Animator)

    状态机的状态(State) 每个Animator Controller都会自带三个状态:Any State, Entry和 Exit.  

  4. linux环境下jdk安装以及配置

    linux 环境安装jdk和配置环境变量: (此处以root用户安装,此方式安装一台虚拟机装一个jdk即可,所有普通用户可以共用) 1.下载安装jdk 链接: https://pan.baidu.co ...

  5. Java进阶专题(十九) 消息中间件架构体系(1)-- ActiveMQ研究

    前言 MQ全称为Message Queue,即消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开 发中应用非常广泛.开发中消息队列通常有如下应用场景:1.任务异步处理.将不需要同步处理的 ...

  6. Zepto入门

    Zepto 的介绍 #什么是 Zepto zepto是轻量级的JavaScript库,专门为移动端定制的框架. 与jquery有着类似的API,俗称:会jquery就会用zepto #zepto的特点 ...

  7. Kudu的特点

    Kudu的特点 0.原理 列式存储管理器 一个列式存储数据的地方,跟mysql差不多,只是mysql是行式存储. 他是一个集群,能分布式存储. 查询也是写sql语句. 列式存储效率高. 1.为什么会有 ...

  8. 从零到一快速搭建个人博客网站(域名自动跳转www,二级域名使用)(二)

    前言 本篇文章是对上篇文章从零到一快速搭建个人博客网站(域名备案 + https免费证书)(一)的完善,比如域名自动跳转www.二级域名使用等. 域名自动跳转www 这里对上篇域名访问进行优化,首先支 ...

  9. 说说 Python 中的高阶函数

    高阶函数(higher-order function)指的是:接受一个函数为参数,或者把函数作为结果值返回的函数. 1 sorted() 比较常见的高阶函数是 sorted(),其内部的关键字参数 k ...

  10. wuter 使用了腾讯云Ubuntu系统,但是没有root权限怎么办?

    友情链接: 手把手教你搭饥荒专用服务器(一)-服务器准备工作 手把手教你搭饥荒专用服务器(二)-环境配置及基本使用 手把手教你搭饥荒专用服务器(三)-MOD及其他高级设置 手把手教你搭饥荒专用服务器( ...