Linux大人养成计划1---基础命令总结

误区

刷了一波视频,现在把Linux的一些常用基本命令总结了下。学会这些,Linux的基本操作就会了。

涉及到的命令:

1.命令提示符的含义

2.命令格式

3.基本命令

4.常见目录的作用

5.文件搜索

6.帮助命令

7.文件压缩

8.开关机命令

9.挂载

10.查看登陆操作信息

11.Shell基础

12.Bash的基本功能

1.命令提示符的含义

[root@localhost ~]#

其中:

root: 当前用户

localhost 主机名

~ 当前所在目录(家目录)

# 超级用户的提示符

$ 普通用户的提示符

2.命令格式

命令 [选项] [参数] 注意:当有多个参数时,可以写在一起

3.基本命令

(1). ls 用来列出该目录下的所有目录和文件

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

选项:

-a 显示所有文件,包括隐藏文件

-l 显示详细信息

-d 查看目录属性

-h 人性化显示文件大小(例如以k显示,而不是字节)

(2).cd 进入某个目录

cd [目录]

英文原意: change directory

以下是一些快捷操作

cd ~ 进入当前用户的家目录

cd 进入当前用户的家目录

cd - 进入上次目录

cd .. 进入上级目录

cd . 进入当前目录

(3).rmdir 删除空目录(remove empty directions)

rmdir [目录名]

(4).rm 删除目录或文件

rm –rf [文件或目录]

命令英文愿意:remove

选项:

-r 删除目录

-f 强制

(5).cp 复制文件或目录

cp [选项] [原文件或目录] [目标目录]

原意:copy

选项:

-r 复制目录

-p 连带文件属性复制

-d 若源文件是链接文件,则复制复制链属性

-a 相当于 –pdr

(5).mv 移动或剪切

mv [原文件或目录] [目标目录]

原意:move

操作都差不多,可以自己自行多实践下,我就贴图了

(6).cat 查看文件内容

cat 文件

(7).vi 编辑文件内容

vi 文件

注:进入后按'i'进行编辑插入,如果要退出的话,先按ESC键,然后输入

:q 表示退出,但文件必须没修改过才可以

:wq 修改并且退出

:q! 强制退出

4.常见目录的作用

/根目录

/bin命令保护目录(普通用户就可以读取的命令)

/boot启动目录,启动相关文件

/dev设备文件保护目录

/etc配置文件保护目录

/home普通用户的家目录

/lib系统库保护目录

/mnt系统挂载目录

/root超级用户的家目录

/tmp临时目录

/sbin命令保护目录(超级用户才能使用的目录)

/pro直接写入内存的(不能随便动)

/sys

/usr系统软件资源目录

/usr/bin/系统命令(普通用户)

/usr/sbin/系统命令(超级用户)

/var系统相关的文档内容

可以在root, home和tmp随便放内容,其他目录最后不要随便放东西

5.文件搜索

(1).locate 文件名

在后台数据库中按文件名搜索,速度很快不过需要更新数据库:updatedb

如果不人为更新的话,系统大概24小时更新一次

/etc/updatedb.conf配置文件,例如配置只搜索那些目录等

(2).find [搜索范围] [搜索文件]

例如

1). find / -name instal.log 表示从根目录搜索名为instal.log的文件

通配符:

* 匹配任何内容

? 匹配任意一个字符

[] 匹配任意一个中括号内的字符

2). find /root –iname install.log

从root目录不区分大小写搜索

3). find /root –user root

按照所有者搜索(就是说这个文件是属于所有者的)

4). find /root –nouser

查找没有所有者的文件(这样的文件一般是垃圾文件,或者内湖文件,或者外部文件)

5). find /root –mtime +10/10/-10

查找10前/10当天/10内修改的文件

atime 文件访问时间

ctime 改变文件属性

mtime 修改文件内容

6). find /root –size +10/10/-10

按文件大小来查找 大于/等于/小于10(记得指定单位)

7). find /root inum 1243

按照id节点来查找

8). find /root –size +10k –a –size -20k

可以多个条件组合来查找 大于10k且小于20k

(-a相当于and语句,即‘与’语句)

9). find /root –size +10k –exec ls –lh {} \

多条命令组合处理

-exec/ -ok 命令{}\ 对搜索结果执行操作

(3).grep [选项] 字符串 文件名

在文件当中匹配符合条件的字符串

选项:

-i 忽略大小写

-v 排除指定字符串

6.帮助命令

1.man

(1).man–f 命令 ----查看命令的功能 相当于whatis命令

(2).man –级别(1,2,3…) 命令----查看命令拥有那个级别的帮助

注:一个相同的命令有很多中级别,如下图

举例:man -5 passed; man -8 ifconfig等

(3).man–k 命令 ----查看和命令相关的所有帮助,相当于 apropos 命令

2.help

(1).命令--help -----获取命令选项的帮助 例如:ls --help

注:不过只能操作外部命令,像cd这个内核命令,则不可以 cd --help

(2)help shell内部命令 ---获取shell内部命令的帮助, 只能获取内部命令

可以通过whereis 命令----来查看是否是内部命令

放在/bin/ 目录的一般不是内部命令

例:help cd ---获取cd命令的帮助

(3).info命令 ------详细命令帮助。进入该命令后可以执行以下操作

回车:进入子帮助页面(带有*号标记)

u : 进入上层页面

n : 进入下一个帮助小节

p : 进入上一个帮助小节

q : 退出

7.文件压缩

常用的压缩格式有

.zip .gz .bz2

.tar.gz .tar.bz2

(1).zip格式压缩与解压缩

zip 压缩文件名 源文件 ---压缩文件

zip–r 压缩文件名 源目录 ---压缩目录

unzip 压缩文件 ---解压缩.zip文件

(2).gz格式压缩与解压

gzip 源文件 ---压缩为.gz格式文件,源文件会消失

gzip –c 源文件 > 压缩文件 ---压缩为gz格式,源文件保留

例如:gzip –c test > test.gz

gzip –r 目录 ---压缩该目录下的所有子文件,但不能压缩目录

gzip–d 压缩文件 ---解压缩

gunzip 压缩文件 ---解压缩

(3).bz2格式压缩与解压

bzip2 源文件 ------压缩为.bz2格式,不保留源文件

bzip2 –k 源文件 ------压缩后保留源文件

注:bzip2命令不能压缩目录

(4).打包命令tar与解打包 (可以解决目录不能压缩问题,可以先打包,再压缩来解决)

tar–cvf 打包文件名 源文件 ---把文件打包为.tar格式文件

选项参数:

-c : 打包

-v : 显示过程

-f : 指定打包后的文件名

tar–xvf 打包文件名 ---解打包

选项参数

-x : 解打包

(5).tar.gz压缩格式与解压

注:其实tar.gz格式是先打包成.tar格式,再压缩为.gz格式的

tar–zcvf 压缩包名 源文件

选项参数:

-z : 压缩为.tar.gz格式

tar–zxvf 压缩包名 ---解压.tar.gz格式的文件

选项参数:

-x : 解压缩.tar.gz格式

8.开关机命令

(1).shutdown命令

shutdown[选项] 时间

选项:

-c : 取消前一个关机命令

-h : 关机

-r : 重启

(2).其他关机命令

halt

poweroff 强行关掉电源的意思

init0 调用0号的系统运行级别

reboot 重启

init 6 重启 调用6号运行级别

注:系统运行级别如下所示

0 关机

1 单用户

2 不完全多用户,不含NFS服务

3 完全多用户(默认级别)

4 未分配

5 图形界面

6 重启

(3).如果要修改系统默认级别,可以在/etc/inittab这个文件里改

(4).runlevel 查看系统运行哪个级别

(5).logout 退出登陆命令

9.挂载

(1).mount 查询系统中已经挂载的设备

(2).mount–a 依据配置文件/etc/fstab的内容,自动挂载

(3).挂载命令格式(如下图)

以下做一个挂载光盘的步骤

1).mkdir/mnt/cdrom/ 建立挂载点

2).mount–t iso9960 /dev/cdrom /mnt/cdrom 挂载光盘到指定位置

(4).卸载命令

umount设备文件名或挂载点

例如卸载刚才挂载的那个:umount /mnt/cdrom

(5).挂载U盘

fdisk–l 查看U盘设备文件名

挂载例子:mount –t vfat /dev/sdb1 /mnt/usb/

10.查看登陆操作信息

(1).w 用户名 查看登陆用户信息

(2).who用户名 查看登陆用户信息

命令输出:

- 用户名

- 登陆终端

- 登陆时间(登陆来源IP地址)

(3).last 查询当前登陆和过去登陆的用户信息

命令默认读取/var/log/wtmp文件数据

命令输出:

- 用户名

- 登陆终端

- 登陆IP

- 登陆时间

- 退出时间(在线时间)

(4).lastlog 查看所有用户的最后一次登陆时间

命令默认读取/var/log/lastlog文件内容

命令输出:

- 用户名

- 登陆终端

- 登陆IP

- 最后一次登陆时间

Shell基础

1.shell是什么?

(1).shell是一个命令解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动、挂起、停止甚至编写一些程序。例如我们平时在屏幕上打的字符命令等,计算机其实是无法识别的,计算机只能识别二进制指令。所以我们可以shell来解释运行

(2).shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性强。shell是解释执行的脚本语言,在shell中可以直接调用Linux系统命令

2.shell的分类

Bourne Shell:主文件名为sh

C Shell:语法和C有点相似

3.echo输出命令

echo [选项] [输出内容] --把内容输出到屏幕上

选项参数:

-e : 支持反斜杠控制字符转

反斜杠下的控制字符:

\a : 输出警告

\b : 退格键,也就是向左删除键

\n : 换行符

\r : 回车键

\t : 制表符,也就是Tab键

\v : 垂直制表符

\0nnn: 按照八进制ASCII码表输出字符

\xhh : 按照十六进制ASCLL码表输出字符

例子:echo -e “I love you”

屏幕上对应输出“I love you”

如何输出有颜色的字符:

echo -e “\e[1;31m I loveyou \e[0m”

屏幕上输出有颜色的”I love you”

#颜色表:

30m=黑色 31m=红色

32m=绿色 33m=黄色

34m=蓝色 35m=洋红

36m=青色 37m=白色

解析

\e[1:31m 开启颜色显示

\E[0m 关闭颜色显示

4.编写第一个脚本

(1).创建一个文件 vi hello.sh 下面是文件的内容

#!/bin/bash (这一行必须加,不加也可能可以正常运行,但遇到有些命令会出错)

#The first program(‘#‘表示注释)

echo –e “\e;31m I love you \e[0m

(2).执行脚本

1).赋予执行权限

chmod 755 hello.sh

./hello.sh

输出结果:

2).通过Bash调用执行脚本

bash hello.sh

输出结果与上面的一样

Bash的基本功能

1.查看与设定别名

使用别名可以减少我们的工作量等。例如一个指令的名字很长等,我们可以给它命令一个自己喜欢的名字。

(1).alias 查看系统中所有指令的别名

alias别名=’原命令’ --- 设定命令别名

不过这样设置的别名,只是临时有效的,系统重启之后,设置的别名就会失效了

(2).别名永久生效与删除别名

1).vi~/.bashrc --- 把别名写入环境变量配置文件中,这样就永久有效。

2).unalias 别名 --- 删除别名

对于一个指令,它可以是一个别名,别名可能是临时设置的,和系统环境变量的配置文件不一样,那他们的生效顺序?

(3).别名的生效顺序

第一顺位执行用绝对路径或相对路径执行的命令

第二顺位执行别名

第三顺位执行Bash的内部命令

第四顺位执行按照$PATH环境变量的目录查找顺序找到的第一命令

2.常用快捷键

ctrl+ c 强制终止当前命令

ctrl+ l 清屏

ctrl+ a 光标移动到命令行首

ctrl+ e 光标移动到命令行尾

ctrl+ u 从光标所在位置删除到行首

ctrl+ z 把命令放入后台

ctrl+ r 在历史命令中搜索

3.历史命令

(1).history[选项] [历史命令保存文件]

选项参数:

-c : 清空历史命令

-w : 把缓存中的历史命令写入历史保存文件

注: 自带历史保存文件名:~/.bash_history

(2).历史命令的调用

使用上下箭头调用以前的历史命令

使用”!n”重复执行第n条历史命令

使用”!!”重复执行上一条命令

使用”!字符串”重复执行最后一条以该字符串开头的命令

4.重定向

例如当我们执行 cat test.txt 命令时,该命令会把test.txt里面的内容输出到屏幕上,但如果我们希望它把结果输出到某个文件上,而不是屏幕,就可以采用重定向,把内容重定向到文件上,如:cat test.txt > content.txt, 把内容输出到content.txt中。

请看一下一系列图片

(1).输出重定向

错误输出:就是执行了一条错误的执行,不存在的命令

在执行指令的时候,我们一般都觉得是没问题的,也就是说

错误指令 2>文件

错误命令2>>文件

这样的命令用处不大,因为需要事先知道命令错了,都事先知道错了,那当然会改过来勒。下面的命令可以同时处理正确和错误的命令:

(2).输入重定向

wc[选项] [文件名]

选项参数:

-c : 统计字节数

-w : 统计单词数

-l : 统计行数

命令< 文件 把文件作为命令输入

命令<< 标识符 从键盘输入字符,直到遇到与标识符一样的字符串才结束

(3).多命令顺序执行

5.管道符

命令格式:命令1 | 命令2 --把命令1的正确输出结果作为命令2的操作对象

6.通配符

7.其他特殊符号


原文发布于微信公众号 - 苦逼的码农(di201805)

原文发表时间:2018-06-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Jerry的SAP技术分享

如何创建一个新浪微博应用以及获得Access token

打开网页http://open.weibo.com/wiki/%E9%A6%96%E9%A1%B5

1684
来自专栏互联网杂技

大家知道什么是git中的 .gitignore吗?

团队开发中,需要一种工具来协调我们的工作。因为代码不是由一个人写的,而是团队成员,每一个人都有自己的工作。于是呢,每天都有代码提交到项目里面,每天开始写的时候,...

3387
来自专栏一个爱瞎折腾的程序猿

vs2012升级vs2017后的一些坑

6181
来自专栏流柯技术学院

HTTP 方法:GET 对比 POST

举例:客户端(浏览器)向服务器提交 HTTP 请求;服务器向客户端返回响应。响应包含关于请求的状态信息以及可能被请求的内容。

1332
来自专栏章鱼的慢慢技术路

在Linux下使用gcc编译mesa文件报undefined reference to symbol 'sin@@GLIBC_2.2.5和DSO missing from command line两个

在Ubuntu下安装好mesa所需的库文件,将目标文件从github上克隆下来之后编译。

1201
来自专栏企鹅号快讯

使用Symfony的Console组件构建命令行程序

我们新开设一门视频课程《构建命令行程序》。主要讲解如何使用symfony的console组件,构建命令行应用。在我们的印象中,php程序大部分是通过浏览器执行(...

2598
来自专栏编程直播室

LInux上清空或删除文件的5中方法1. 清空文件通过重定向到Null2. 清空文件使用“true”命名重定向3. Empty File Using cat/cp/dd utilities with

5645
来自专栏Kevin-ZhangCG

Linux常用命令总结

$find /etc -size +163840 -a -size -204800

1181
来自专栏yl 成长笔记

windows 下 ctags 安装以及 tags 目录创建

最近处理 .as 格式代码,需要转换成 c# 格式, 用 VS 查看,无法跳转,十分蛋疼,又用起了好久没用的 VIM,配置 tags 文件,实现自动跳转。

1.8K3
来自专栏智能合约

剖析Redis过期key的删除策略

2122

扫码关注云+社区

领取腾讯云代金券