常用指令

接下来我将举例阐述以下常用的基本指令: /!\ 记住要正确的按照下面写的输入,后面还得带上回车键!

查询文件列表

dud@shadowplay:~ $ ls
file1.txt
file2.pdf
file3.mp3
file1.pdf
another_file.txt
Yet-Another_file.txt
file-with_other-NAME.TXT

ls命令默认状态下将按首字母升序列出你当前文件夹下面的所有内容,但这样直接运行所得到的信息也是比较少的,通常它可以结合以下这些参数运行以查询更多的信息:

  • ls / 将列出根目录'/'下的文件清单.如果给定一个参数,则命令行会把该参数当作命令行的工作目录。换句话说,命令行不再以当前目录为工作目录。
  • ls -l 将给你列出一个更详细的文件清单.
  • ls -a 将列出包括隐藏文件(以.开头的文件)在内的所有文件.
  • ls -h 将以KB/MB/GB的形式给出文件大小,而不是以纯粹的Bytes.

查询当前所在目录:

dud@shadowplay:~ $ pwd
/home/dud

进入其他目录(用命令cd)

dud@shadowplay:~ $ pwd
/home/dud
dud@shadowplay:~ $ cd /root/
dud@shadowplay:/root $ pwd
/root

上面例子中,当前目录原来是/home/dud,执行cd /root/之后再运行pwd可以发现,当前目录已经改为/root了

在屏幕上输出字符:

dud@shadowplay:~ $ echo "Hello World"
Hello World

这是一个很有用的命令,它可以在屏幕上输入你指定的参数(""号中的内容),当然这里举的这个例子中它没有多大的实际意义,但随着你对LINUX指令的不断深入,就会发现它的价值所在。

显示文件内容:

dud@shadowplay:~ $ cat file1.txt
Roses are red.
Violets are blue,
and you have the bird-flue!

cat这个命令可以用来在终端上显示txt文本文件的内容。如上例输出的这首“诗”;

复制文件:

dud@shadowplay:~ $ cp file1.txt file1_copy.txt
dud@shadowplay:~ $ cat file1_copy.txt
Roses are red.
Violets are blue,
and you have the bird-flue!

移动文件:

dud@shadowplay:~ $ ls
file1.txt
file2.txt
dud@shadowplay:~ $ mv file1.txt new_file.txt
dud@shadowplay:~ $ ls
file2.txt
new_file.txt

需要注意的是,在命令操作时系统基本上不会给你什么提示,当然,绝大多数的命令可以通过加上一个参数 -v来要求系统给出执行命令的反馈信息;

dud@shadowplay:~ $ mv -v file1.txt new_file.txt
`file1.txt' -> `new_file.txt'

加上-v参数后,系统就会输出操作提示

`file1.txt' -> `new_file.txt'

建立一个空文本文件:

dud@shadowplay:~ $ ls
file1.txt
dud@shadowplay:~ $ touch tempfile.txt
dud@shadowplay:~ $ ls
file1.txt
tempfile.txt

建立一个目录

dud@shadowplay:~ $ ls
file1.txt
tempfile.txt
dud@shadowplay:~ $ mkdir test_dir
dud@shadowplay:~ $ ls
file1.txt
tempfile.txt
test_dir

删除文件/目录

dud@shadowplay:~ $ ls -p
file1.txt
tempfile.txt
test_dir/
dud@shadowplay:~ $ rm -i tempfile.txt
rm: remove regular empty file `test.txt'? y
dud@shadowplay:~ $ ls -p
file1.txt
test_dir/
dud@shadowplay:~ $ rm test_dir
rm: cannot remove `test_dir': Is a directory
dud@shadowplay:~ $ rm -R test_dir
dud@shadowplay:~ $ ls -p
file1.txt

我们来分析一下上面的操作:首先我们通过ls命令查询可知当前目下有两个文件和一个文件夹;

  • 你可以用参数-p来让系统显示某一项的类型,比如是文件/文件夹/快捷链接等等;
  • 接下来我们用rm -i尝试删除文件,-i参数是让系统在执行删除操作前输出一条确认提示;i(interactive)也就是交互性的意思;
  • 当我们尝试用上面的命令去删除一个文件夹时会得到错误的提示,因为删除文件夹必须使用-R(recursive,循环)参数

特别提示:在使用命令操作时,系统假设你很明确自己在做什么,它不会给你太多的提示,比如你执行rm -Rf /,它将会删除你硬盘上所有的东西,并且不会给你任何提示,所以,尽量在使用命令时加上-i的参数,以让系统在执行前进行一次确认,防止你干一些蠢事。如果你觉得每次都要输入-i太麻烦,你可以执行以下的命令,让-i成为默认参数:

alias rm='rm -i'

查询当前进程:

dud@shadowplay:~ $ ps
PID TTY          TIME CMD
11278 pts/1    00:00:00 bash
24448 pts/1    00:00:00 ps

这条命令会例出你所启动的所有进程;

  • ps -a可以例出系统当前运行的所有进程,包括由其他用户启动的进程;
  • ps auxww是一条相当人性化的命令,它会例出除一些很特殊进程以外的所有进程,并会以一个高可读的形式显示结果,每一个进程都会有较为详细的解释;

控制流程

输入/输出

input用来读取你通过键盘(或其他标准输入设备)输入的信息,output用于在屏幕(或其他标准输出设备)上输出你指定的输出内容.另外还有一些标准的出错提示也是通过这个命令来实现的。通常在遇到操作错误时,系统会自动调用这个命令来输出标准错误提示;

我们能重定向命令中产生的输入和输出流的位置

重定向

如果你想把命令产生的输出流指向一个文件而不是(默认的)终端,你可以使用如下的语句:

Example:

dud@shadowplay:~ $ ls > file4.txt
dud@shadowplay:~ $ cat file4.txt
file1.txt
file2.pdf
file3.mp3
file1.pdf
another_file.txt
Yet-Another_file.txt
file-with_other-NAME.TXT
file4.txt

以上例子将创建文件file4.txt如果file4.txt不存在的话。注意:如果file4.txt已经存在,那么上面的命令将覆盖文件的内容。如果你想将内容添加到已存在的文件内容的最后,那你可以用下面这个语句:

  • command >> filename

示例:

dud@shadowplay:~ $ ls >> file4.txt
dud@shadowplay:~ $ cat file4.txt
file1.txt
file2.pdf
file3.mp3
file1.pdf
another_file.txt
Yet-Another_file.txt
file-with_other-NAME.TXT
file4.txt
file1.txt
file2.pdf
file3.mp3
file1.pdf
another_file.txt
Yet-Another_file.txt
file-with_other-NAME.TXT
file4.txt

在这个例子中,你会发现原有的文件中添加了新的内容。接下来我们会见到另一种重定向方式:我们将把一个文件的内容作为将要执行的命令的输入。以下是这个语句:

  • command < filename

Example:

dud@shadowplay:~ $ sort < file4.txt
another_file.txt
another_file.txt
file1.txt
file1.txt
file2.pdf
file2.pdf
file3.mp3
file3.mp3
file4.txt
file4.txt
file-with_other-NAME.TXT
file-with_other-NAME.TXT
Yet-Another_file.txt
Yet-Another_file.txt

如你所见,我们将file4.txt(的内容)作为命令的参数输入。

管道

Linux的强大之处在于它能把几个简单的命令联合成为复杂的功能,通过键盘上的管道符号'|' 完成。现在,我们来排序上面的"grep"命令:

grep -i command < myfile | sort > result.text

搜索 myfile 中的命令,将输出分类并写入分类文件到 result.text 。 有时候用ls列出很多命令的时候很不方便 这时“|”就充分利用到了 ls -l | less 慢慢看吧.

后台进程

CLI 不是系统的串行接口。您可以在执行其他命令时给出系统命令。要启动一个进程到后台,追加一个“&”到命令后面。

sleep 60 &
ls

睡眠命令在后台运行,您依然可以与计算机交互。除了不同步启动命令以外,最好把 '&' 理解成 ';'。

如果您有一个命令将占用很多时间,您想把它放入后台运行,也很简单。只要在命令运行时按下ctrl-z,它就会停止。然后键入 bg 使其转入后台。fg 命令可使其转回前台。

sleep 60
<ctrl-z>
bg
fg

最后,您可以使用 ctrl-c 来杀死一个前台进程。

Ubuntu的基本用法:常用指令,控制流程和重定向相关推荐

  1. conda创建python虚拟环境常用指令和流程

    conda--非常强大的工具,也是一个可执行命令,其核心功能是包管理和环境管理. 包管理与pip的使用方法类似,环境管理则是允许用户方便滴安装不同版本的python环境并在不同环境之间快速地切换. 1 ...

  2. Flink并行度优先级_集群操作常用指令_运行组件_任务提交流程_数据流图变化过程

    Flink并行度优先级(从高到低) sum(1).setParallelism(1) env.setParallelism(1) ApacheFlinkDashboard任务添加并行度配置 flink ...

  3. ubuntu中常用指令

    常用指令 清空命令行 Ctrl+L Conda 创建虚拟环境 conda create -n 虚拟环境名称 python=3.7.10 查看虚拟环境列表 conda info --envs 激活虚拟环 ...

  4. Docker——使用docker工具管理软件/组件的运行,镜像、容器、数据卷的基本概念,常用指令,使用docker搭建Java微服务运行环境

    Docker--使用docker工具管理软件/组件的运行,镜像.容器.数据卷的基本概念,常用指令,使用docker搭建Java微服务运行环境 一.docker的安装和卸载 1.卸载 2.安装 3. 导 ...

  5. Linux目录结构和常用指令

    文章目录 一.Linux概述 二.Linux下目录结构 系统启动必须 指令集合 外部文件管理 临时文件 账户 运行过程中要用 扩展用的 三.常用指令 clear清屏 ls 指令 查看当前用户名 普通用 ...

  6. vue 快速入门、常用指令(1)

    1. vue.js的快速入门使用 1.1 vue.js库的下载 vue.js是目前前端web开发最流行的工具库之一,由尤雨溪在2014年2月发布的. 官方网站 中文:https://cn.vuejs. ...

  7. Centos 8 常用指令汇总

    主要目录结构 / #根目录 ├── bin -> #(/usr/bin . /usr/local/bin) 目录存放着最经常使用的命令 ├── boot #系统启动文件 ├── dev #设备文 ...

  8. 苹果终端date命令_mac 终端 常用指令

    开始正式研究ios 应用开发,由于是从C开始学起,所以学习下常用的mac终端指令,方便后续常用操作. mac 终端 常用指令: 1.ls指令 用途:列出文件 常用参数 -w 以简洁的形式列出所有文件和 ...

  9. Lua-Nginx-Module常用指令(下)

    十四.获取Nginx的环境变量 通过Lua API可以获取Nginx的环境变量,用来提升某些业务处理流程,比如有些定时任务只需要在一个worker进程上执行,不需要执行多次,因此可以获取环境变量中wo ...

最新文章

  1. 基于winpcap开发的相关资料
  2. python把英语句子成分字母_英语句子成分-谓语讲解 什么是谓语?(
  3. 【转】提纲挈领webrtc之NS(noise suppression)模块
  4. 发现 4 个 Python 命令行可视化库,又酷又炫!
  5. mysql 记录更新 内部_MySQL 入门(1):查询和更新的内部实现
  6. MyBatis之八:需要说明的几个java api的生命周期以及封装
  7. 万立快速开发平台——软件制作大师
  8. dbnetlib sqlserver不存在或拒绝访问_404:对不起,您访问的网页不存在
  9. 大学专业:这4个计算机类专业很受欢迎,毕业后薪资待遇高?
  10. anaconda激活python_Anaconda使用conda activate激活环境出错(待完全解决)2018-06-09
  11. ps画画模糊笔刷_大量PS笔刷AI笔刷打包下载(超过1000款笔刷)
  12. java离线_java8离线版软件下载
  13. python调用百度通用翻译API进行翻译
  14. 华为防火墙配置(双机热备)
  15. 2022年3月18到5月18的思考
  16. 在元宇宙的概念之下,互联网与数字经济不再是水火不容的存在
  17. fopen函数的各种参数 r+ w+ a+ ab+
  18. Diskeeper 2010 中文破解注册版 强烈推荐!顶级磁盘碎片整理软件
  19. Linux内核编译很简单,6步编译一个自己的内核
  20. CLAHE算法 opencv

热门文章

  1. 报错 jinja2.exceptions.TemplateSyntaxError: Unexpected end of template. Jinja was looking for the foll
  2. 视频打赏平台制作,微信打赏平台
  3. 见她之前再见她,冥冥之中有天意
  4. 要闻君说:印度公司要在京沪建立数据中心;超 10 万个 GitHub 仓库可泄漏 API 令牌及密钥...
  5. bulls与cows的c语言程序设计,关于cows与bulls的跨学科观点:cow(母牛)
  6. C#串口通信数据不完整
  7. 科技云报道原创:没有一个行业,能拒绝“通信中台”的诱惑
  8. X战警-最后战役 X-Men: The Last Stand
  9. 倍投计算机器在线,2021看图开特马50研究计算倍投【欢迎你】
  10. 低代码平台有哪些?织信informat怎么样?