一、基本的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. Qt 4.5发布(最大的变动是换用LGPL许可证,移植进了苹果的Cocoa框架。之前的Qt只支持Carbon框架,现在的Qt 4.5两者都支持。单一源代码创建出支持32位或64位字节的Intel或PowerPC Mac二进制文件)

            Nokia的开源Qt开发工具正式发布了4.5版.如前所述,Qt 4.5最大的变动是换用LGPL许可证,目前采用的三个许可证分别为LGPL/GPL和商业许可证.           新版 ...

  2. SQLServer 导入大容量sql文件

    cmd命令行,管理员身份运行 执行以下语句:E:\dbbak\abhs\SmartEnglish_data.sql 为文件路径,AbhsEnglish 为要导入的数据库 sqlcmd -i E:\db ...

  3. 数据库HAVING的使用

    HAVING语句通常与GROUP BY语句联合使用,用来过滤由GROUP BY语句返回的记录集. HAVING语句的存在弥补了WHERE关键字不能与聚合函数联合使用的不足. 记录一下

  4. 三、maven学习-高级

    maven父子工程

  5. python之jupyter notebook

    jupyter是一种交互式计算和开发环境的笔记,ipython命令行比原生的python命令行更加友好和高效,还可以运行web版的界面,支持多语言,输出图形.音频.视频等功能. 安装 pip inst ...

  6. 微信小程序中button去除默认的边框

    button { position:relative; display:block; margin-left:auto; margin-right:auto; padding-left:14px; p ...

  7. 【vue+axios】一个项目学会前端实现登录拦截

    原文链接:github.com 一个项目学会vue全家桶+axios实现登录.拦截.登出功能,以及利用axios的http拦截器拦截请求和响应. 前言 该项目是利用了Github 提供的persona ...

  8. springboot2.0集成webSocket

    WebSocket和http的区别? http协议是用在应用层的协议,他是基于tcp协议的,http协议建立链接也必须要有三次握手才能发送信息. http链接分为短链接,长链接,短链接是每次请求都要三 ...

  9. mysql中取出的时间日期多个.0

    字段名称为 create_time 字段类型为 datetime 存储的内容为 2019-03-26 09:42:05 但是 通过mybatis取出来放到实体类里,数值就变成了 2019-03-26 ...

  10. 获得npm server 上 package 的版本信息

    通过这个命令可以获取package 的历史版本信息 npm view packagename   versions