一、shell概述

1.Linux系统中运行的一种特殊程序

2.在用户和内核之间充当“翻译官”

3.用户登录Linux系统时,自动加载一个shell程序

4.bash是Linux系统中默认使用的shell程序(文件位于/bin/bash)

二、linux命令分类

1.内部命令

1)集成于Shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令

2)属于Shell的一部分

3)没有单独对应的系统文件

4)自动载入内存,可以直接使用

2.外部命令

1)Linux系统中能够完成特定功能的脚本文件或二进制程序

2)属于Shell解释器程序以外的命令

3)每个外部命令对应了系统中的一个文件

4)必须知道其对应的文件位置,由Shell加载后才能执行

三、linux命令行

3.1 格式

命令字 【选项】 【参数】------英文字符区分大小写

1.命令字

是整条命令中最关键的一部分

唯一确定一条命令

2.选项

短格式选项:使用“-”符号引导------多个单字符选项可以组合在一起使用 例如:-a -b -c

长格式选项:使用“–”符号引导 例如:--help

3.参数

命令字的处理对象

可以是文件名、,目录(路径)名或用户名等内容

个数可以是零到多个

3.2 编辑Linux命令行

编辑Linux命令行的辅助操作

Tab键(两下):自动补齐(提示)

反斜杠\:强制换行(其实没换行,只是显示的换行)

Ctrl+U组合键:清空至行首(不包含/)

Ctrl+K组合键:清空至行尾 (包含/)

Ctrl+L组合键:清屏 (配置还在)

Ctrl+C:取消本次命令编辑

Ctrl+a:切换到行首

Ctrl+e:切换到行尾

3.3 获得命令帮助的方法

1.内部命令 help

查看shell内部命令的帮助信息

2.命令的“–help”选项

适用于大多数Linux外部命令

3.使用man命令阅读手册页

使用“↑”、“↓”方向键滚动一行文本

使用Page Up和Page Down键翻页

按Q或q键退出阅读环境

按“/”键查找内容

4.百度

注:1)查看内部命令:help;enable (内部命令集合);type+命令 (判断)

2)禁用内部命令:enable -n (cd) cd是/user/bin/cd

开启内部命令:enable (cd) cd是shell内嵌

3)哈希命令(缓存命令)

四、Linux基础命令

4.1 pwd:查看当前的工作目录

pwd命令用于显示用户当前所在的工作目录位置,工作目录是用户操作文件或其他子目录的默认位置起点。使用pwd命令可以不添加任何选项或者参数。

示例:[root@localhost ~]# pwd

当前工作目录:/root

4.2 cd:切换工作目录

4.2.1 cd格式

1.cd目标位置:切换到目标位置

2.cd ~:若不指定目标位置,切换到当前用户的家目录

3.cd:同cd ~

4.cd -:切换到上一次执行cd命令之前所在的目录

4.2.2 绝对路径

以根号“/”为起点的路径称为绝对路径

以根号“/”为起点的目录称为根目录

4.2.3 相对路径

4.3 列表显示目录内容:ls

显示目录中的内容,包括子目录和文件相关属性信息

ls [选项] [文件或目录....]

常用选项:

-l,-a,-A,-d,-h,-R,--color

结合通配符:

‘?’:代表任意一个字符,有且有一个字符

‘*’:代表任意数个字符,可以是0个或者1个或者多个

‘[]’:表示可以匹配字符组中得任意一个字符

4.4 设置别名:alias

通过别名机制简化常用的、比较长的命令

alias 命令别名=‘命令’ (‘=’两边不能有空格)

示例:

设置myls为ls -alh的别名

alias myls=‘ls -alh’

取消别名:

unalias 命令别名

4.5 统计目录及文件空间占用情况:du

统计指定目录(或文件)所占用磁盘空间的大小

du [选项] [文件或者目录...]

常用选项

-a 统计磁盘空间占用时包括所有的文件,而不是仅仅只统计目录

-h 以更人性化的方式(默认以kB计数,但不显示单位)显示出统计结果

-s 只统计所占空间总的大小,而不是统计每个子目录、文件的大小

–max-depth=n 统计所有小于等于第n层的目录的总大小

统计出 /var/log 目录中子目录的大小:

du -h --max-depth=1 /var/log/

4.6 创建新目录:mkdir

创建新的空目录

mkdir [选项]目录位置及名称...

示例:

在当前目录下创建名为 pubic_html 的子目录:

mkdir pubic_html

在当前目录下创建目录/aa,在/aa目录下创建子目录bb,在/aa/bb目录下创建子目录cc:

mkdir -p /aa/bb/cc

4.7 创建空文件:touch

更新文件的标记时间

经常用于创建多个空的新文件

touch 文件...

示例

创建两个空文件,文件名分别为aa.txt和bb.txt

touch aa bb

touch {a,b}.txt

4.8 创建链接文件:ln

为文件或目录建立链接文件,类似于Windows系统的快捷方式

链接文件类型

软链接(又称为符号链接)

硬链接

ln [-s(软链接)]源文件或目录...链接文件或者目标位置

示例:

ln -s /bin/bzip2 /bin/wx/

在Linux中,文件名和文件的数据是分开的

在Linux中,只有文件的 硬链接数=0 才会被删除

使用 ls -l 可以查看一个文件的硬链接数

在日常工作中,几乎不会建立文件的硬链接。

软链接与硬链接的区别:

4.9 复制文件或目录:cp

将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录

cp [选项]...源文件或目录...目标文件或目录...

常用选项:

-f、-i、-p、-r

4.10 删除文件或目录:rm

删除指定的文件或目录

rm [选项] 要删除的文件或者目录...

  • 常用选项
  • -f :删除文件或目录时不进行提醒,而直接强制删除
  • -i :删除文件或目录时提醒用户确认。(y表示删除,n表示不删除)
  • -r :删除目录时必须使用此选项,表示递归删除整个目录树(应谨慎使用)
  • 注:不要直接删除系统中已有的目录或配置文件,以避免出现意外故障

示例:

rm -rf public_html/grub/

rm -i public_html/apg.conf

cd /etc/yum.repos.d/

rm -rf ./*

4.11 移动文件或目录:mv

将指定的文件或目录转移位置

如果目标位置与源位置相同,则相当于执行重命名操作

mv [选项] ...源文件或目录... 目标文件或目录

示例:

mv mytouch mkfile

mv mkfile public_html/

4.12 查找命令文件存放目录:which

搜索范围由环境变量PATH决定(echo $PATH)

which+命令/程序名(默认当找到第一个目标后不再继续查找)

which±a+命令/程序名(在所有搜索路径中查找)

示例:

which ls

which history

使用which查找内部命令时,将找不到对应程序

4.13 查找文件或目录-find

采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找

find+【查找范围】+【查找条件表达式】

查找范围:查找文件或子目录的目录位置

查找条件表达式:查找条件类型

常用查找条件类型:

find之exec用法

-exec参数后面跟的是Linux命令,它是以分号“;”为结束标志,由于各个系统中分号会有不同的意义,因此在分号前面加上反斜杠转义符“\”

{}代表前面find查找出来的文件名

find命令匹配到了当前目录下的所有普通文件,并在-exec选项中使用ls -l命令将它们列出

find ./ -type f -exec ls -l {} \ ;

linux命令打基础的更多相关文章

  1. Linux实战教学笔记04:Linux命令基础

    第四节:Linux命令基础 标签(空格分隔):Linux实战教学笔记 第1章 认识操作环境 root:当前登陆的用户名 @分隔符 chensiqi:主机名 -:当前路径位置 用户的提示符 1.1 Li ...

  2. 像黑客一样使用 Linux 命令行

    前言 之前在博客园看到一篇介绍 IntelliJ IDEA 配置的文章,它里面用的是 gif 动态图片进行展示,我觉得很不错.所以在我今天以及以后的博文中,我也会尽量使用 gif 动图进行展示.制作 ...

  3. 11 个很少人知道但很有用的 Linux 命令

    Linux命令行吸引了大多数Linux爱好者.一个正常的Linux用户一般掌握大约50-60个命令来处理每日的任务.Linux命令和它们的转换对于Linux用户.Shell脚本程序员和管理员来说是最有 ...

  4. Linux命令随笔

    Linux命令总结 man ==命令帮助; help ==命令的帮助(bash的内置命令); ls ==list,查看目录列表; -ld:查看目录权限; -l:(long)长格式显示属性; -F:给不 ...

  5. linux命令在线手册

    下面几个网址有一些 Linux命令的在线手册,而且还是中文的,还可以搜索.非常方便 Linux命令手册 Linux命令大全 Linux中文man在线手册 每日一linux命令

  6. 常用的一些linux命令

    最近接触到一些linux环境部署的事情,下面分享一些最近使用的比较频繁的一些linux命令~ 1.一次性移动多个文件到一个文件夹里 mv  被移动文件名 -t 目标文件夹 如:mv a.txt b.t ...

  7. 测试或运维工作过程中最常用的几个linux命令?

     大家在测试工作过程中,可能会遇到需要你去服务器修改一些配置文件,譬如说某个字段的值是1 则关联老版本,是0则关联新版本,这时候你可能就需要会下vi的命令操作:或者查看session设置的时长,可能需 ...

  8. 每天一个 Linux 命令(21):find命令之xargs

    在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行.但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出 ...

  9. 在windows下使用linux命令,GnuWin32的使用.

    http://sourceforge.net/projects/getgnuwin32 使用过linxu的伙计估计都会喜欢上linux各种各样强大的命令如:grep, sed,awk,diff和pat ...

随机推荐

  1. Linux中使用QT读取并显示温度传感器数值

    环境: Ubuntu 16.04 64 bit QT5.13.1/QT5.12 原理 对于Linux来说一切都是文件,温度传感器也是个文件,如果要获取某个温度传感器的数值,可以读取相应的文件,Linu ...

  2. 计算机网络的参考模型与5G协议

     一.分层思想 二.OSI七层参考模型 三.FPC/IP五层模型 四.数据的封装过程与PDU(协议数据单元) 五.数据的解封装过程 六.各层间通信与设备与层的对应关系 七.总结 一.分层思想 将复杂的 ...

  3. jquery鼠标移入移出事件

    <!DOCTYPE html><html> <head>    <meta http-equiv="Content-type" conte ...

  4. C++智能指针之shared_ptr与右值引用(详细)

    1. 介绍 在 C++ 中没有垃圾回收机制,必须自己释放分配的内存,否则就会造成内存泄露.解决这个问题最有效的方法是使用智能指针(smart pointer).智能指针是存储指向动态分配(堆)对象指针 ...

  5. Archive for required library:’ WebRoot/WEB-INF/Mytag.tld’in project ‘TagTest’ cannot be read or is not a valid ZIP file

    Description::部署tld文件时报错 我的解决方法: 右击(当前项目)->Build Path->Java Build Path ( Configure Build Path.. ...

  6. CG-CTF Our 16bit Games

    一.放到xp上面跑,发现是一个图形界面的飞机游戏...估计是分数到达多少,然后就可以输出flag. 打开ida,一脸懵逼,主要这玩意16位,我直接静态调试了 发现很多汇编代码,有点懵逼,在最下方的地方 ...

  7. Shell 脚本之 MySQL 一键安装及基本配置(几分钟搞定)

    准备工作 MySQL 该版本下载地址: https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.30-linux-glibc2.12- ...

  8. Java | Random 和 Math 的概述及使用

    Random Random类是java.util的包里面提供的我们常用的API,方便我们操作的,还有非常多像Random一样的类. Random的作用 生成一个随机数字,可以指定范围,也可以真的随机. ...

  9. java基础---类和对象(4)

    一. static关键字 使用static关键字修饰成员变量表示静态的含义,此时成员变量由对象层级提升为类层级,整个类共享一份静态成员变量,该成员变量随着类的加载准备就绪,与是否创建对象无关 使用st ...

  10. SpringBoot | 2.1 SpringBoot自动装配原理

    @ 目录 前言 1. 引入配置文件与配置绑定 @ImportResource @ConfigurationProperties 1.1 @ConfigurationProperties + @Enab ...