Linux笔记2

第二次上课主要学习了一些指令

基本命令:

命令格式注意:

1.多选项,以及多参数和命令之间使用空白字符分割

2.取消和结束命令执行:ctrl+c,ctrl+d

3.多个命令可以用;符号分开

4.一个命令可以用\分成多行

hostname:显示和设置系统的主机名称

语法:hostname 选项 参数

选项:

-v:显示详细信息

-a:显示主机别名

-d:显示DNS域名

-f:显示FQDN名称

-i:显示主机ip

-s:显示短主机名称,在第一个点处截断

-y:显示NIS域名

init 3:关闭图形界面

init 5:启动图形界面(图像界面模式切换)

startx:启动图形界面(相当于在系统上运行图形界面软件)

init 0:关机

chvt#:在各界面相互切换

ps:经过多次实践,发现在图形界面普通账户使用chvt切换到命令行界面会报错,提示找不到一个文件描述符指的控制台,但是root用户可以成功切换,暂时还没找到原因,后续找到了再补上!!!

lsb_release: LSB是Linux  Standard Base的缩写,sb_release是用来显示LSB和特定版本的相关信息

此指令CentOS7上没有

free:显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区

选项:

-b:以byte为单位显示内存使用情况

-k:以KB为单位.................

-m:以MB为单位

-v:显示版本信息

-t:显示内存总和列

df:显示磁盘分区上可使用的磁盘空间,默认先是单位为KB.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息

选项:

-a或--all:包含全部的文件系统

--block-size=<区块大小>:以指定的区块大小来显示区块数目

-h或--human-readable:以可读性较高的方式显示信息

-i或--inodes:显示inode的信息

-k或--kilobytes:指定区块大小为1024字节

-l或者--local:仅显示本地端的文件系统

-t 文件系统或--type 文件系统:仅显示指定文件系统类型的磁盘信息

-T或--print-type:显示文件系统的类型

-x 文件系统或--exclude-type 文件系统:不要显示指定文件系统类型的磁盘信息

--version:显示版本信息

lscpu:查看cpu信息

ifconfig:显示Linux内核中网络接口的网络参数

id:可以显示真实有效的用户ID(UID)和组ID(GID)

语法:

id 选项 用户名

选项:

-g或--group:显示用户所属群组的ID

-G或--groups:显示用户所属附加群组ID

-n或--name:显示用户,所属群组或附加群组的名称

-r或--real:显示实际ID

-u或--user:显示用户ID

shell:

command>>shell>>二进制

shell起到了类似翻译官的作用,将command转换成计算机可识别的二进制格式,然后执行该command

PS1:定义提示符

定义如下

  1. echo $PS1
  2. PS1=qiuwei
  3. 提示符变更为qiuwei

date:显示和设置系统时间和日期

参数:

+时间日期格式:

%H 小时,24小时制

%I 小时,12小时制

%M 分钟

%S 显示秒

%s 从1970年1月1日00:00:00到现在经历的秒数
%T:显示时间,24小时(hh:mm:ss)
%a:显示星期 简称
%A:显示星期 全称
%c:日期和时间

[[email protected] ~]# date +%c

Sat 23 Jul 2016 05:09:59 PM CST

%F:

[[email protected] ~]# date +%F

2016-07-23

时间设置:

date -s  “2016-7-23 09:49:30“

date:072214442016.30

月日时分年.秒

以上时间没加秒数则默认为0秒

-d 字符串:显示字符串所指的时间日期,字符串前后必须加上双引号

date -d "+10 day" +%F  十天后

date -d "-10 day" +%F十天前

date -d "10 day ago"+%F 十天前

date  -d "+1 year"  +%F 一年后

date -d  "+1  month" +%F 一月后

clock和hwclock:显示和设置硬件时间如期

hwclock -w 将硬件时间更改为系统时间

hwclock -s 将系统时间更改为硬件时间

screen命令:通俗讲screen是一个可以在多进程之间多路复用一个物理终端的窗口管理器或者代理

常用参数:

screen -S help: 新建一个叫help的会话

screen -ls :理出当前所有的会话

screen -x help:加入到名叫help的会话中

以上需三个指令配合使用

为方便自己理解记忆,用文字描述下

假如A有困难需要B帮忙,B可以通过远程登录到A的终端上,使用screen命令实现屏幕共享,及操作同步

,步骤如下:

首先A和B都连接同一终端,A执行命令screen -S help,可建立一个名叫“help”的共享屏幕会话,B通过执行screen -ls查看到help ,然后B执行命令 screen -x help,就可以连接到A建立的“help”的共享屏幕会话,实现屏幕共享,操作共享

断开共享会话:ctrl+a+d(按键盘,不是输入字符)

重新连接断开的会话:screen -x help 或者screen -x 会话编号(进程编号?)

exit:退出会话

ctrl+a+s:锁定会话,锁定后,进行任何输入屏幕上都不会有反应,但是虽然屏幕上看不到反应,其实输入的指令内容都会被screen中的进程收到,

ctrl+a+q:配合上一个指令使用,解锁会话,上面锁住时输入的命令内容都会重新出现

ctrl+a+x:锁定会话,不同的是锁定后,会话被screen所属用户的密码保护,需要输入密码才能继续访问这个会话

会话分离与恢复:

可以不中断screen中窗口中的程序而暂时断开screen会话,随后重新连接该会话,重新控制该窗口中运行的程序

例如:

执行screen命令。创建了一个会话,并在里面执行yes命令,此时会话屏幕持续输出y

在screen键入ctrl+a+d,暂时退出会话,

等一段时间后screen -x pts-2 重新连接该会话,发现yes依然在执行,屏幕还是在持续输出y

安装screen: yum install screen

或者在镜像中找到安装包直接安装

hash:可查看使用过的外部命令,缓存在内存中

hash -d yes : 清除缓存中的yes命令

hash -r :清除缓存中所有的命令

一般命令分为两种:内部命令和外部命令

type:查看命令是内部命令还是外部命令

type  cd   type  ls

系统执行外部命令的机制:

一般情况下,命令输入后,系统会在如下路径依次查找,会优先执行第一个匹配到的指令

/usr/lcoal/sbin

/usr/lcoal/bin

/sbin

/bin

/usr/bin

/usr/bin

/root/bin

查看外部命令路径:

echo $PATH

系统执行命令顺序(优先级):

内部命令 > 外部命令缓存 > 外部命令路径

外部命令执行后才会有外部命令缓存,而要执行外部命令缓存的前提是外部命令依然存在

通俗讲:假如yes命令在/bin中,执行此命令后,会产生缓存,如果再想执行yes命令,系统会优先使用缓存中的yes,但是如果删掉/bin的yes命令,再执行yes命令,虽然缓存中已记录了yes,但是命令是不会执行成功的,因为缓存中路径/bin下已经没有yes,我的理解是缓存只是yes快捷方式,/bin下的yes才是实际内容,所以/bin下的yes没了,缓存中的yes也不能执行了

另外:外部命令查找是从左到右的,会优先选择第一个匹配到的指令,但是有的指令不止存在在一个路径中,有多个路径可以匹配,如果不想执行第一个,则可以使用相对路径的,如下:

/bin/yes,   /sbin/yes

#: /sbin/yes

如上命令会直接匹配/sbin/yes   ,而不是/bin/yes

ps:假如yes在/test/yes,当前目录也在/tse下,直接运行yes(前提外部命令默认路径无yes指令),也是无法执行成功的,因为系统执行外部命令是默认去外部命令路径下查找的,在/test下直接运行yes,系统会直接查找默认的外部命令路径,不会查找/test的,想要这样执行:

/test/yes,或者.yes

暂时禁用命令:enable -n cd

启用命令:enable  cd

which:查找并显示给定命令的绝对路径

[[email protected] ~]# which pwd

/usr/bin/pwd

备注:which是根据使用者所配置的PATH变量内的目录去搜寻可运行档的!所以,不同的PATH配置内容所找到的命令是不一样的

alias:用来定义别名的

alias cls=clear  将cls定义为clear的别名

unalias cls   删除别名cls

命令优先级: 别名 > 内部命令 > 外部命令缓存 > 外部命令路径

ehco命令用法

echo命令在shell中显示shell变量的值,或者直接输出指定的字符串

语法: echo 选项 参数

回显:

[[email protected] ~]# echo hahha

hahha

选项:

-n:输出文字不换行

-e:启用转义符

例:

\n:换行

[[email protected] ~]# echo  "000000\n00"

000000\n00

[[email protected] ~]# echo -e "000000\n00"

000000

00

“\字母”表示光标

有-e选项时,字符串出现以下字符,则有特别含义,不会当作一般字符输出

\a:发出警报

\b:删除前一个字符 >>光标前进一格

\c:最后不加上换行符>>不换行,且光标后不显示

[[email protected] ~]# echo -e "shabi\chah "

shabi[[email protected] ~]#

\f:换行但光标仍然停留在原来的位置

shabi[[email protected] ~]# echo -e "shabi\fhah "

shabi

hah

\n:换行且光标移至行首

[[email protected] ~]# echo -e "shabi\nhah "

shabi

hah

\r:光标移至行首,但不换行>>后面会覆盖前面的

[[email protected] ~]# echo -e "shabi\rhah"

hahbi

[[email protected] ~]# echo -e "shabi\rpingxiong"

pingxiong

\t:插入tab

\v:与\f效果相同

\0nnn:插入nnn(八进制),所代表的ASCII字符

\xHH:插入HH(十六进制)所代表的ASCII字符

echo输出颜色文本:


例如:echo -e "\033[47;32;5mpingxiongshishabi\033[0m"

说明:

以上-e是命令echo的选项,启用转义符,"\033"引导非常规字符序列(即"\033["表示终端转义字符开始,"\033"即退出键<ESC>的ASCII码)。"m"意味着设置属性然后结束非常规字符序列,这个例子里真正有效的字符,以上命令中47;32;5;0是实现控制文本颜色控制的,其他的可理解为固定格式

以下可选:

0            重新设置属性到缺省设置

1          设置粗体
2            设置一半亮度(模拟彩色显示器的颜色)

4            设置下划线(模拟彩色显示器的颜色)
5            设置闪烁
7            设置反向图象
22           设置一般密度
 24           关闭下划线
25           关闭闪烁
27           关闭反向图象
30           设置黑色文字
31           设置红色
 32           设置绿色

33           设置黄色
34           设置蓝色
35           设置紫色
36           设置青色
37           设置白色(灰色)

40           设置黑色背景
41           设置红色背景
42           设置绿色背景
43           设置黄色背景
 44           设置蓝色背景
45           设置紫色背景
 46           设置青色背景
47           设置白色(灰色)背景

echo "":表示弱引用

echo ‘‘:表示强引用

echo ``:表示命令引用

我理解为如下:

第一个‘‘是直接将‘‘中的强行当做字符引用输出

第二个``:引用的是‘‘中的命令的执行结果

第三个“”:分别引用了echo和$USER,执行了结构

此处还未理解透彻,后续在补全

查看帮助手册:

whatis

command --help

man

info

本地帮助文档/usr/share/doc/

官方在线文档

其他网站和搜索

whatis:

显示命令的简短描述

每晚使用一个数据库更新

刚安装后不可立即使用

makewhatis或mandb制作数据库

whatis  command

man命令:

提供命令帮助手册

手册页存放在/usr/share/man

几乎每个命令都有man的页面

man页面分组为不同的章节

man章节:

  1. 用户命令
  2. 系统调用
  3. C库调用
  4. 设备文件及特殊文件
  5. 配置文件格式
  6. 游戏
  7. 杂项
  8. 管理类的命令
  9. Linux内核API

man命令的控制翻页指令:

space空格键:向下翻页

Page Up和Page Down:表示向上翻一行和向下翻一行

enter回车键:向下翻一行

/word:搜寻关键字

Home:去第一页

End:去最后一页

/string:向下搜寻string

?string:向上搜寻string

n,N:利用/和?搜寻字串是,n来继续下一个搜索(从上往下)

N来搜索上一个搜索(从下往上)

q:结束man

man有9个章节同一个命令可能在多个章节中都有,

搜索指定的章节

man -# command  (#为章节数)

info:

常用快捷键

?:显示info的常用快捷键

n:打开与本Node关联的下一个Node

p:打开与本Node关联的前一个Node

u:打开与本Node关联的上一个Node

i:回到上一次访问的Node

m或g 选择一个菜单项(Node 的名字) 输入指定菜单的名字后按回车,打开指定菜单项关联的 Node

空格键 下一页(PageDown 也可以,下一页从当前页的最后两行开始算起) 下一个 Node (若当前页在 Node 文档的末尾)

Del 键 上一页(PageUp 也可以,上一页从当前页的开始两行开始算起) 上一个 Node (若当前页 Node 文档的开始)

b 或 t 或 Home 文档的开始(b 是 begining 的意思)

e 或 End 文档的末尾(b 是 ending 的意思)

Ctrl-l 刷新当前页,若当前文档显示情况有问题时

Ctrl-g 取消所键入的指令

histoy:

bash的基础特性:

命令历史:shell进程护在其会话中保存此前用户提交执行过的命令

指令: history

HISTSIZE:shell进程可保留的命令历史的条数

HISTFILE:持久保存命令历史的文件;

.bash_history

HISTFILESIZE:命令历史文件的大小(数量?)

-c:清空命令历史;

-d offset:删除指定命令历史

-r:从文件读取命令历史至历史列表中

-w: 把历史列表中的命令追加至历史文件中

history n :显示最近的n条命令;

调用命令历史列表中的命令:

!n:历史中的第n条命令

!!:最近的一次命令

!STRING:再次执行命令历史列表中最近一个以STRING开头的命令

STRING:字母

注意:命令的重复执行有时候需要依赖于幂等性

调用上一条命令的最后一个参数:

快捷键:ESC然后 .

字符串:!$

控制命令历史的记录的方式:

环境变量:HISTCONTROL

ignoredups:忽略重复的命令:

ignorespace:忽略以空白字符开头的命令

ignoreboth:以上两者同时生效

命令补全:

        shell程序在接收到用户执行命令的请求时,分析完成时,最左侧的字符串会被当作命令;

      命令查找机制:

                   查找内部命令;

                   根据PATH环境变量中设定的目录,自左而右逐个搜索目录下的

            

给定的打头字符串如果能唯一标识某命令程序文件,则直接补全

                               不能唯一标识某命令程序文件,则再击tab键一次,会给出列表;

路径补全:

         根据给定的起始路径下,以对应路径下的打头字串来逐一匹配起始路径下的每个文件

         否则,再一次tab,给出列表。

bash的快捷键:

ctrl+l:清屏,相当于clear命令

ctrl+c:取消命令的执行

ctrl+a:光标移动到命令行的最前面

ctrl+e:光标移动到命令行的最后面

ctrl+u:删除行首到光标

ctrl+k:删除行尾到光标

以上为第二次上课学习到的命令和一些相关知识,如有错误,请帮忙指出,嘿嘿!!

时间: 2024-08-09 19:53:48

Linux笔记2的相关文章

linux笔记 文件的压缩与解压缩gzip、bzip2、xz、zip&unzip、tar打包、tar打包和压缩并用

压缩文件意义节省网络传输带宽,降低磁盘使用率.但会使用一定的cpu. 1.gzip 不支持压缩目录,gzip后直接跟文件名,在当前目录下压缩时,原文件会消失. #gzip filename 指定压缩目录:#gzip -c 123.txt > /tmp/123.txt.gz 将当前目录下123.txt文件压缩到tmp目录下名字为123.txt.gz 解压缩:#gzip -d file.gz #zcat file.gz  查看.gz文件内容 2.bzip2 不支持压缩目录,bzip2后可直接跟文件名

辛星整理的三本linux笔记,免积分下载,希望对您有所帮助

废话不多说了,第一本是我在看李明老师的视频的时候的笔记,全书大约116页,在csdn上的下载地址为:点我下载 ,如果左边的地址崩溃了,也可以在浏览器中输入如下地址然后下载:http://download.csdn.net/detail/xinguimeng/7757985   在百度网盘上的下载地址为:点我去百度网盘,如果左边的地址跪了,也可以在浏览器中输入如下下载地址进行下载:http://pan.baidu.com/s/1pJBdc8N  . 第二本是我在看韩顺平老师讲linux的时候的笔记

linux笔记之grep使用

1.问:grep.egrep是什么? 答:grep是文本搜索工具,grep是根据用户指定的'模式(pattern)'对目标文本进行过滤,显示被模式匹配到的行. 2.问:grep.egrep中用户指定的'模式(pattern)'是什么?分为几类? 答:grep中用户指定的'模式'是一种由特殊字符组成的具有某种特定意义的表达式,我们称为正则表达式,其中的特殊字符我们称为元字符.正则表达式分为:基本正则表达式.扩展正则表达式. 3.问:grep.egrep的使用格式是怎么书写的? 答:grep的使用格

【Linux笔记】cd无法进入xargs管道输出的目录

今天在写shell脚本的时候,想用cd进入xargs管道输出的目录,但是提示报错.详情如下: [环境描述] 目录结构: [[email protected] nagiosclient_db]# ls -ltr total 2488 -rw-r--r--.        1     root   root    405725   Mar  3 14:12   nrpe-2.12.tar.gz -rw-r--r--.        1     root   root    2095419 Mar 

Linux笔记常规部分总结(待续)

Linux笔记常规部分总结 shell: 子shell bash--bash bash: 1.命令历史.命令补全 2.管道.重定向 3.命令别名 4.命令行编辑 5.命令行展开 6.文件名通配 7.变量 8.编程 命令行编辑: 光标跳转: ctrl+a:跳到命令行首 ctrl+e:跳到命令行尾 ctrl+u:删除光标至命令行首的内容 ctrl+k:删除光标至命令行尾的内容 ctrl+l:清屏 命令历史: 查看命令历史:history -c:清空命令历史 -d OFFSET [n]:删除指定位置的

Linux笔记之Makefile

规则: 目标 : 依赖 命令 make是如何工作的: (1)make在当前目录下寻找makefile或Makefile. (2)如果找到,他会寻找文件中的第一个目标文件(target),并把这个文件作为第一个目标. (3)如果目标文件不存在,或者目标文件所依赖的.o文件修改时间要比目标文件新,那么,就会执行后面所定义的命令来生成目标文件. (4)如果目标文件所以依赖的.o文件也存在,那么make会在当前文件中寻找目标为.o文件所依赖性,如果找到则再根据这一规则生成.o文件.(这有些像堆栈的过程.

Linux笔记之终端日志记录工具script

在学习Linux时,有时候终端的打印消息对于我们非常重要,但是终端显示也是有一定的缓冲空间的,当打印信息非常多时,前面的信息就会被覆盖掉,所以这里网上搜索了一下这方面的介绍,现总结如下: script 是一个非常使用的工具,同时也足够的好玩.script 能够将终端的会话过程录制下来,然后使用 scriptreplay 就可以将其录制的结果播放给他人观看.script 的好处就在于,你在终端中的所有操作过程,它都可以原原本本地进行录制.我们可以将这种录制应用在很多方面,诸如教学.演示等等. 一般

linux笔记(实验环境搭建)

磁盘和分区 硬盘分区有主分区.扩展分区和逻辑分区之分.一块硬盘最多可以有4个主分区,其中一个主分区的位置可以用一个扩展分区来替换,且一个硬盘只能有一个扩展分区,在这个扩展分区内可以划分多个逻辑分区. 磁盘设备名称如下: — 系统的第一块IDE接口的硬盘称为/dev/hda以此类推.分区则使用数字编号表示.如:/dev/hda1  /dev/hdb2 — 数字编号1~4留给主分区或扩展分区使用,逻辑分区编号从5开始. — SAS/SCSI/SATA/USB接口硬盘的名称均以/dev/sd[a-p]

【03】Linux笔记

Linux 笔记 装机必备 立刻关机 sudo shutdown -t now 设置fish为默认shell chsh -s /usr/bin/fish 安装ssh服务 sudo apt install sshd 让你的sudo输错密码的时候嘲讽你 sudo visudo 然后在配置中加入如下一行: Defaults insults 安装ss-qt5 sudo add-apt-repository ppa:hzwhuang/ss-qt5 sudo apt install shadowsocks-

初识linux笔记

回环地址lo 摘自百度 三种网络模式 1.4-1.6  三种网络模式详解.note 由于linux目前很热门,越来越多的人在学习linux,但是买一台服务放家里来学习,实在是很浪费.那么如何解决这个问题?虚拟机软件是很好的选择,常用的虚拟机软件有vmware workstations和virtual box等.在使用虚拟机软件的时候,很多初学者都会遇到很多问题,而vmware的网络连接问题是大家遇到最多问题之一.在学习交流群里面,几乎每天都会有同学问到这些问题,写这篇详解也是因为群里童鞋网络出故