一、基本的bash shell命令(基于Ubuntu实现)

/etc/passwd文件包含了所有系统用户账户列表以及每个用户的基本配置信息。

man命令

在想要查找的工具的名称前输入man命令,就可以找到那个工具对应的手册条目。

  • 空格 向下翻页
  • 回车 向下逐行
  • b 向上翻页
  • q 退出

Linux顶层虚拟目录名及其内容

遍历目录

cd命令

$ cd destination
  • 绝对文件路径:绝对文件路径总是以正斜线(/)作为起始,指明虚拟文件的根目录。可以清晰表明用户想切换到的确切位置。
  • 相对文件路径:允许用户指定一个基于当前位置的目标文件路径。相对文件路径不以代表根目录的正斜线(/)开头,而是以目录名或是一个特殊字符开始。
$ pwd

pwd命令可以显示出shell会话的当前目录。

  1. 单点符(.) 表示当前目录;
  2. 双点符(..) 表示当前目录的父目录

基本列表功能

ls命令

ls命令最基本的形式会显示当前目录下的文件和目录

$ ls
  1. -F  参数的ls命令轻松区分文件和目录
  2. -a  参数会把隐藏文件和普通文件及目录一起显示出来
  3. -d  显示目录自身属性,不显示内容。
  4. -R  递归选项。列出了当前目录下包含的子目录中的文件。
  5. -l    会产生长列表的输出,包含了目录中每个文件的更多相关信息。
  6. -l --time=atime  显示出文件的访问时间。(-l显示的是修改时间)
  7. -i    查看文件或目录的inode编号(inode编号是一个用于标识的唯一数字,由内核分配给文件系统中的每一个对象)

每部分所显示的信息如下:

ls -F -R 可以合并为 ls -FR。

  • 问号(?)代表一个字符;
  • 星号(*)代表零个或多个字符。

ls -l 可以列出单个特定文件的信息。

创建文件

touch命令

$ touch test_one

创建一个空文件,文件大小为零,并将自己的用户名作为属主。

touch命令可以用来改变文件的修改时间(同时改变访问时间)。

  • -a  只改变访问时间

复制文件

cp命令

$ cp source destination
  1. 都是文件名时,cp命令将源文件复制成一个新文件,并且以destination命名。有新的修改时间;
  2. cp -i 强制询问是否需要覆盖已有文件;
  3. 可以将文件赋值到现有目录中(目标目录名尾部加上一个正斜线(/),否则会创建尾目录同名的文件);
  4. cp -R 递归地复制整个目录内容。

tree命令

树形显示文件结构

链接文件

ln命令

  • 符号链接
  • 硬链接

符号链接示例

ln -n 原始文件 符号链接名字

li@li:~/myUbuntu$ ls -l mn
-rw-rw-r-- li li 10月 : mn
li@li:~/myUbuntu$ ln -s mn sl_mn
li@li:~/myUbuntu$ ls -l *mn
-rw-rw-r-- li li 10月 : mn
lrwxrwxrwx li li 10月 : sl_mn -> mn

硬链接示例

ln 原始文件 硬链接名字

li@li:~/myUbuntu$ ls -l *mn
-rw-rw-r-- li li 10月 : mn
lrwxrwxrwx li li 10月 : sl_mn -> mn
li@li:~/myUbuntu$ ls -l mn
-rw-rw-r-- li li 10月 : mn
li@li:~/myUbuntu$ ln mn h_mn
li@li:~/myUbuntu$ ls -l *mn
-rw-rw-r-- li li 10月 : h_mn
-rw-rw-r-- li li 10月 : mn
lrwxrwxrwx li li 10月 : sl_mn -> m
li@li:~/myUbuntu$ ls -il *mn
-rw-rw-r-- li li 10月 : h_mn
-rw-rw-r-- li li 10月 : mn
lrwxrwxrwx li li 10月 : sl_mn -> mn

重命名文件

mv命令

mv命令可以将文件和目录移动到另一个位置或重新命名。

  • -i 在命令试图覆盖已有文件时,询问是否覆盖。

删除文件

rm命令

  • -i 提示你是不是要真的删除改文件。
  • -f 如果要删除很多文件且不受提示符的打扰,-f参数强制删除。

创建目录

mkdir命令

  • -p 同时创建多个目录和子目录

删除目录

rmdir命令

默认情况下,rmdir命令只删除空目录。

rm命令

  • -r 使得命令可以向下进入目录,删除其中的文件,然后再删除目录本身。
  • -i 提示是否真的删除
  • -ir 进入目录后,将会提示是否删除每一个文件

查看文件内容

查看文件类型:

file命令

$ file my_file

查看整个文件:

1.cat命令

$ cat my_file
  • -n 会给所有的行加上行号
  • -b 只给有文本的行加上行号
  • -T 不让制表符出现(呈现出^T)

2.more命令

more命令会显示文本文件的内容,但会在显示每页数据之后停下来。向下翻页空格,向上翻页b键(阅读到结尾及退出,所以到结尾无法向上翻页),回车向下逐行。

$ more my_file

3.less命令

更高级的功能。可以上下键以及上下翻页(阅读到结尾可向上翻页,q退出)

查看部分文件:

1.tail命令

$ tail my_file

tail命令会显示文件最后几行的内容(文件的“尾部”)。默认最后十行。

  • -n 数字:只显示最后数字行
  • -数字:只显示最后数字行
  • -f :允许你在其他进程使用改文件时查看文件的内容。保持活动状态(检测系统日志)

2.head命令

$ head my_file

head命令会显示文件开头几行的内容(文件的“头部”)。默认开头十行。

  • -n 数字:只显示开头数字行
  • -数字:只显示开头数字行

没有-f参数。

一、基本的bash shell命令(基于Ubuntu实现)的更多相关文章

  1. ipython, 一个 python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数

    一个 python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数. 若用的是fish s ...

  2. 第四章:更多的bash shell命令

    第四章:更多的bash shell命令 监测程序 ps (其他ps内容见#1 ) Unix风格的ps命令参数 参数 描述 -A 显示所有进程 -N 显示与指定参数不符的所有进程 -a 显示除控制进程( ...

  3. 基本bash shell命令

    以下列举一些常用的bash shell命令,在使用时方便查找. 访问Linux系统上的手册:man 命令.例:man ps      手册是由分页程序来显示的,可以通过点击 空格,回车,向上和向下箭头 ...

  4. 基本的bash shell命令

    目录 基本的bash shell命令 启动shell shell提示符 基本的bash shell命令 启动shell GNU bash shell 能提供对Linux系统的交互式访问.它是作为普通程 ...

  5. bash shell命令(2)

    在上篇<bash shell命令(1)>中,介绍了几种简单的linux shell命令,今天继续介绍bash shell命令 本文地址:http://www.cnblogs.com/arc ...

  6. 《Linux命令行与shell脚本编程大全》- 读书笔记2 - 更多的bash shell命令

    更多的bash shell命令 想检测进程,需要熟悉ps命令的用法.ps命令好比工具中的瑞士军刀,它能输出运行在系统上的所有程序的许多信息.默认情况下,ps命令只会显示运行在当前控制台下的属于当前用户 ...

  7. bash shell命令与监测的那点事(三)

    bash shell命令与监测的那点事之df与du 前两篇介绍了bash shell的进程监控指令,但是有时候你需要知道在某个设备上还有多少磁盘空间.首先介绍df命令: df命令 df命令就是用来轻松 ...

  8. bash shell命令与监测的那点事(二)

    bash shell命令与监测的那点事之top 上次我们说到了ps命令,ps命令虽然在收集运行在系统上的进程信息很有用,但是也有不足之处,ps命令只能显示某个特定时间点的信息,如果你想观察频繁换进换出 ...

  9. bash shell命令与监测的那点事(一)

    bash shell命令与监测的那点事之ps 学习LInux,不得不谈谈bash shell命令,介绍Linux命令行与Shell脚本的书有很多很多,bash shell命令也有很多,此次我们只谈谈有 ...

随机推荐

  1. Java EE Servlet相关的两个包

    Servlet in Java EE 在Java EE的规范API中(链接),Servlet相关联的最重要的两个Package为: 1.javax.servlet 包含了一系列接口和类,他们在一个Se ...

  2. Java 多线程创建和线程状态

    一.进程和线程 多任务操作系统中,每个运行的任务是操作系统运行的独立程序. 为什么引进进程的概念? 为了使得程序能并发执行,并对并发执行的程序加以描述和控制. 因为通常的程序不能并发执行,为使程序(含 ...

  3. 怎样禁止 html 中 <textarea> 标签可以拉伸改变大小 ?

    1. 一般来说, 使用 <textarea> 这个标签都会禁用掉它的这个默认属性, 不然可能会被用户玩儿坏, 而且也不利于其他元素的展示, 使用到的属性是 resize , 改为 none ...

  4. linq多个条件

    public static class PredicateBuilder { /// <summary> /// 机关函数应用True时:单个AND有效,多个AND有效:单个OR无效,多个 ...

  5. CF505E Mr. Kitayuta vs. Bamboos

    cf luogu 要使得最高的柱子高度最小,考虑二分这个高度,那么剩下的就是要指定一个操作方案,使得最终每个柱子高度\(\le mid\) 因为有个柱子高度不会\(<0\)的限制,所以正着模拟不 ...

  6. 关于Webpack打包报错Class constructor FileManager cannot be invoked without 'new'

    前端代码部署一直是自己打包之后将文件用FileZilla上传到服务器上,现在改用运维基于到k8s docker镜像的发布,前端打包报错如下: 经查资料,报错原因是less升级导致的Bug 尝试升级le ...

  7. 批量转换epub书籍为mobi电子书

    kindlegen下载地址: http://kindlegen.s3.amazonaws.com/kindlegen_win32_v2_9.zip 原文: http://blog.sina.com.c ...

  8. 简单聊聊服务发现(redis, zk,etcd, consul)(转载)

    服务发现并没有怎样的高深莫测,它的原理再简单不过.只是市面上太多文章将服务发现的难度妖魔化,读者被绕的云里雾里,顿觉自己智商低下不敢高攀. 服务提供者是什么,简单点说就是一个HTTP服务器,提供了AP ...

  9. MySQL的基本操作一

    本文主要涉及到的SQL知识点包括CREATE创建数据库和表.INSERT插入数据.SUM()求和.GROUP BY分组.DATE_FORMAT()格式化日期.ORDER BY排序.COUNT()统计行 ...

  10. 第四章· MySQL客户端工具及SQL讲解

    一.客户端命令介绍 1.mysql 1.用于数据库的连接管理 1) 连接(略) 2) 管理: #MySQL接口自带的命令 \h 或 help 或? 查看帮助 \G 格式化查看数据(key:value) ...