Article / 文章中心

云起冬季实战营第二期期学习报告——Linux指令入门

发布时间:2022-01-28 点击数:541

整理了一下,本次学到linux指令

白名单提示的处理

假如创立资源后遇到这个提示,需要先处理下,再持续试验

白名单提示

image

新建inprivate窗口

翻开阿里云登录页面https://signin.aliyun.com/login.htm#/main

用所给资源的账号暗码登录

进入实例

翻开安全组页面

image


按提示添加

image
保存后就能够用了

一、文本处理类

Vim

指令描绘:文本编辑

输入i

居中:ce

保存:wq

cat

指令描绘:cat指令用于检查内容较少的纯文本文件。

指令运用示例:

1.   将一个自增序列写入test.txt文件中。

for i in $(seq 1 10); do echo $i >> test.txt ; done

2.  检查文件内容。

cat test.txt

指令输出成果:

3.  将文件内容清空。

cat /dev/null > test.txt

more

指令描绘:more指令早年向后分页显现文件内容。

指令运用示例:

从第20行开始分页检查体系日志文件/var/log/messages。

more +20 /var/log/messages

less

指令描绘:less指令能够对文件或其它输出进行分页显现,与moe指令相似,但运用 less 能够随意浏览文件,而 more 仅能向前移动,却不能向后移动。

指令运用示例:

检查指令前史运用记载并经过less分页显现。

history | less

head

指令描绘:head指令用于检查文件开头指定行数的内容。

指令运用示例:

检查/etc/passwd文件的前5行内容。

head -5 /etc/passwd

tail

指令描绘:tail指令用于检查文档的后N行或持续改写内容。

指令运用示例:

检查/var/log/messages体系日志文件的最新10行,并坚持实时改写。

tail -f -n 10 /var/log/messages

按ctrl+c键退出文本实时检查界面。

stat

指令描绘:用来显现文件的详细信息,包含inode、atime、mtime、ctime等。

指令运用示例:

检查/etc/passwd文件的详细信息。

stat /etc/passwd

wc

指令描绘:wc指令用于计算指定文本的行数、字数、字节数。

指令运用示例:

计算/etc/passwd文件的行数。

wc -l /etc/passwd

file

指令描绘: file指令用于辨识文件类型。

指令运用示例:

检查/var/log/messages文件的文件类型。

file /var/log/messages

diff

指令描绘:diff指令用于比较文件的差异。

grep

指令描绘:grep指令用于查找文件里契合条件的字符串。

grep全称是Global Regular Expression Print,表明全局正则表达式版别,它能运用正则表达式查找文本,并把匹配的行打印出来。

在Shell脚本中,grep经过返回一个状况值来表明查找的状况:

  • 0:匹配成功。
  • 1:匹配失败。
  • 2:查找的文件不存在。

指令运用示例:

  • 检查sshd服务装备文件中监听端口装备所在行编号。grep -n Port
  • 查询字符串在文本中呈现的列数。grep -c localhost /etc/hosts
  • 反向查找,不显现契合条件的行。ps -ef | grep sshdps -ef | grep -v grep | grep sshd
  • 以递归的方法查找目录下含有关键字的文件。grep -r *.sh /etc
  • 运用正则表达式匹配httpd装备文件中异常状况码响应的相关装备。grep 'ntp[0-9].aliyun.com' /etc/ntp.conf

sed

sed是一种流编辑器,它是文本处理中十分中的东西,能够完美的合作正则表达式运用。

指令运用示例:

  • 删去第3行到最后一行内容。sed '3,$d' /etc/passwd
  • 在最后一行新增行。sed '$a admin:x:1000:1000:admin:/home/admin:/bin/bash' /etc/passwd
  • 替换内容。sed 's/SELINUX=disabled/SELINUX=enforcing/' /etc/selinux/config
  • 替换行。sed '1c abcdefg' /etc/passwd

awk

指令描绘:和 sed 指令类似,awk 指令也是逐行扫描文件(从第 1 行到最后一行),寻找含有目标文本的行,假如匹配成功,则会在该行上履行用户想要的操作;反之,则不对行做任何处理。

指令运用示例:

  • 检查本机IP地址。ifconfig eth0 |awk '/inet/{print $2}'
  • 检查本机剩余磁盘容量。df -h |awk '/\/$/{print $4}'
  • 计算体系用户个数。awk -F: '$3<1000{x++} END{print x}' /etc/passwd
  • 输出其间登录Shell不以nologin结尾(对第7个字段做!~反向匹配)的用户名、登录Shell信息。awk -F: '$7!~/nologin$/{print $1,$7}' /etc/passwd
  • 输出/etc/passwd文件中前三行记载的用户名和用户uid。head -3 /etc/passwd | awk  'BEGIN{FS=":";print "name\tuid"}{print $1,"\t"$3}END{print "sum lines "NR}'
  • 检查tcp连接数。netstat -na | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
  • 关闭指定服务的一切的进程。ps -ef | grep httpd | awk {'print $2'} | xargs kill -9

cut

指令描绘:cut指令首要用来切开字符串,能够对输入的数据进行切开然后输出。

指令运用示例:

  • 按字节进行切开。

     image

  • 按字符进行切开。

    image


tr

指令描绘:tr指令用于对来自规范输入的字符进行替换、紧缩和删去。

示例:

  • 将输入字符由大写转换为小写。echo "HELLO WORLD" | tr 'A-Z' 'a-z'
  • 删去字符。echo "hello 123 world 456" | tr -d '0-9'
  • 紧缩字符。echo "thissss is      a text linnnnnnne." | tr -s ' sn'
  • 发生随机暗码。cat /dev/urandom | tr -dc a-zA-Z0-9 | head -c 13

二、体系办理类

echo

指令描绘:echo指令用于在终端输出字符串或变量提取后的值。

image

  • 显现成果定向至文件

echo "This is a test text." > test.txt

假如您希望将文本追加到文件内容最后,而不是覆盖它,请运用>>输出追加重定向符号。

  • 显现指令履行成果

以下指令将会在终端显现当时的作业途径。

echo `pwd`

运用$(command)形式能够达到相同效果。

date

指令描绘:date指令用于显现和设置体系的时刻和日期。

  • 依照指定格局检查当时体系时刻

date "+%Y-%m-%d %H:%M:%S"

  • 检查今天是当年中的第几天

date "+%j"

  • 将体系的当时时刻设置为2020年02月20日20点20分20秒

date -s "20200220 20:20:20"

  • 校对体系时刻,与网络时刻同步

a. 安装ntp校时东西

yum -y install ntp

b. 用ntpdate从时刻服务器更新时刻

ntpdate time.nist.gov

wget

指令描绘:在终端中下载文件。

:下载一张图片到途径/root/static/img/中,-p参数默认值为当时途径,假如指定途径不存在会主动创立。

wget -P /root/static/img/ http://img.alicdn.com/tfs/TB1.R._t7L0gK0jSZFxXXXWHVXa-2666-1500.png

ps

指令描绘:ps指令用于检查体系中的进程状况。

指令运用示例:

ps -ef | grep sshd

top

指令描绘:top指令动态地监督进程活动与体系负载等信息。

按 q 键退出监控页面。

pidof

指令描绘:pidof指令用于查询指定服务进程的PID值。

查询出crond服务下的一切进程ID。

pidof crond

kill

指令描绘:kill指令用于停止指定PID的服务进程。

删去pid为1247的进程。

kill -9 1247

killall

指令描绘:killall指令用于停止指定称号的服务对应的悉数进程。

删去crond服务下的一切进程。

killall crond

ifconfig

指令描绘:ifconfig指令用于获取网卡装备与网络状况等信息。

uname

指令描绘:uname指令用于检查体系内核与体系版别等信息。

  • 显现体系信息。

uname -a

  • 显现当时体系的硬件架构。

uname -i

  • 显现操作体系发行编号。

uname -r

  • 显现操作体系称号。

uname -s

  • 显现主机称号。

name -n

uptime

指令描绘:uptime 用于检查体系的负载信息。

free

指令描绘:free用于显现当时体系中内存的运用量信息。

  • 显现当时体系中内存的运用量信息。

free -h

who

指令描绘:who 指令显现关于当时在本地体系上的一切用户的信息。

  • 显现用户登录来源

who -l -H

  • 精简模式显现

who -q

last

指令描绘: last 指令用于显现用户最近登录信息。

history

指令描绘:history指令用于显现前史履行过的指令。

bash默认记载1000条履行过的前史指令,被记载在~/.bash_history文件中。

指令运用示例:

  • 显现最新10条履行过的指令。

history 10

  • 清除前史记载。

history -c

三、磁盘办理指令

df

df指令描绘:该指令检查文件体系的磁盘空间占用状况。能够运用该指令来获取硬盘被占用了多少空间,目前还剩余多少空间等信息。

  • 履行如下指令,以inode模式来显现磁盘运用状况。

df -i

  • 履行如下指令,显现体系内的一切特别文件格局、称号及磁盘运用状况。

df -aT

  • 履行如下指令,以GBytes、MBytes、KBytes等格局显现各文件体系容量。

df -h

du

du指令描绘:检查磁盘运用空间。du与df指令不同点在于,du指令用于检查文件和目录磁盘的运用空间。

  • 履行如下指令,列出当时目录下的一切文件夹和文件的容量。

du -a

  • 履行如下指令,列出当时目录下的一切文件夹和文件的容量。

du -ah

  • 履行如下指令,列出根目录底下每个目录所占用的容量,并以MBytes单位显现容量。

du -sm /*

fdisk

fdisk指令描绘:该指令用于磁盘分区。

  • 履行如下指令,列出体系一切装置的分区信息。

fdisk -l

四、文件与权限

ls

指令描绘: ls指令用于显现指定作业目录下的内容。

指令运用示例:

检查当时目录下的一切文件(包含隐藏文件)。

ll -a

pwd

指令描绘:获取当时作业目录的绝对途径。

cd

指令描绘:cd指令用于切换作业目录。

在途径表明中:

  • 一个半角句号(.)表明当时目录,例如途径./app/log等同于app/log。
  • 两个半角句号(..)表明上级目录,例如途径/usr/local/../src等同于/usr/src,其间local和src目录同级。

cd指令的默认参数为~,符号~表明当时用户的家目录,即在root用户登录时,指令cd、cd ~和cd /root履行效果相同。

touch

指令描绘:touch指令用于修正文件或许目录的时刻属性,包含存取时刻和更改时刻。若文件不存在,体系会建立一个新的文件。

指令运用示例:

  • 创立两个空文件。

touch demo1.txt demo2.txt

mkdir

mkdir指令用于新建子目录。-p参数确保目录称号存在,不存在的就新建一个。

tree

检查创立后的目录结构。

rm

指令描绘:rm指令用于删去一个文件或许目录。

示例:

  • 无需确认直接删去文件。

rm -rf demo*

  • 无需确认直接删去目录a及其目录下一切子目录和文件。

rm -rf a

cp

指令描绘: cp指令首要用于复制文件或目录。

image

mv

指令描绘: mv指令用来为文件或目录改名、或将文件或目录移入其它方位。


  • 将文件名a.txt改为b.txt。 image
  • 将c目录移动到a/b/c/d/下。 image
  • 将当时目录内容悉数移动到/tmp目录中。

mv ./* /tmp

rename

指令描绘:rename指令用字符串替换的方法批量改动文件名。

指令运用示例:

  • 将当时目录下一切文件名中的字符串demo改为大写的字符串DEMO。 image
  • 将当时目录下一切.txt文件后缀都改为text。 image


chmod

chmod指令用于修正文件权限mode,-R参数以递归方法对子目录和文件进行修正。

image

  1. 将hello.sh文件添加属主的履行权限。 image
  2. 将hello.sh文件吊销属主的履行权限。 image
  3. 将hello.sh文件权限修正为八进制表明的744权限。 image
  4. 运用bash指令解释器履行hello.sh脚本文件。 image

其间,u+x表明添加属主的履行权限,u表明属主,g表明属组,o表明其他,a表明一切用户。

chown

chown指令修正文件的属主和属组;-R参数以递归方法对子目录和文件进行修正;ls -l指令显现的第三列和第四列便是文件的属主和属组信息。

chgrp

chgrp指令用于修正文件的属组。

image

五、文件办理

cmp

指令描绘:该指令用于比较两个文件是否有差异。当相互比较的两个文件完全一样时,该指令不会显现任何信息。不然会标示出第一个不同之处的字符和列数编号。当不指定任何文件称号,或文件名为"-",则cmp指令会从规范输入设备读取数据。

find

指令描绘:该指令用来在指定目录下查找文件。任何坐落参数之前的字符串都将被视为欲查找的目录名。假如运用该指令时,不设置任何参数,则find指令将在当时目录下查找子目录与文件。而且将查找到的子目录和文件悉数进行显现。

运用示例:

  • 履行如下指令,将当时目录及其子目录下一切文件后缀为.txt的文件列出来。

find . -name "*.txt"

  • 履行如下指令,查找体系中一切文件长度为0的普通文件,并列出它们的完好途径。

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