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

简介: linux我就是个小白,记录下学到的命令,方便以后复习和查询

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

白名单提示的处理

如果创建资源后遇到这个提示,需要先处理下,再继续实验

白名单提示

新建inprivate窗口

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

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

进入实例

打开安全组页面


按提示增加


保存后就可以用了

一、文本处理类

Vim

命令描述:文本编辑

输入i

居中:ce

保存:wq

cat

命令描述:cat命令用于查看内容较少的纯文本文件。

命令使用示例:

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

for i in$(seq 110); 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命令主要用来切割字符串,可以对输入的数据进行切割然后输出。

命令使用示例:

  • 按字节进行切割。

     

  • 按字符进行切割。

   


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命令用于在终端输出字符串或变量提取后的值。

  • 显示结果定向至文件

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命令主要用于复制文件或目录。

mv

命令描述: mv命令用来为文件或目录改名、或将文件或目录移入其它位置。


  • 将文件名a.txt改为b.txt。
  • 将c目录移动到a/b/c/d/下。
  • 将当前目录内容全部移动到/tmp目录中。

mv ./* /tmp

rename

命令描述:rename命令用字符串替换的方式批量改变文件名。

命令使用示例:

  • 将当前目录下所有文件名中的字符串demo改为大写的字符串DEMO。
  • 将当前目录下所有.txt文件后缀都改为text


chmod

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

  1. 将hello.sh文件增加属主的执行权限。
  2. 将hello.sh文件撤销属主的执行权限。
  3. 将hello.sh文件权限修改为八进制表示的744权限。
  4. 使用bash命令解释器执行hello.sh脚本文件。

其中,u+x表示增加属主的执行权限,u表示属主,g表示属组,o表示其他,a表示所有用户。

chown

chown命令修改文件的属主和属组;-R参数以递归方式对子目录和文件进行修改;ls -l命令显示的第三列和第四列就是文件的属主和属组信息。

chgrp

chgrp命令用于修改文件的属组。

五、文件管理

cmp

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

find

命令描述:该命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

使用示例:

  • 执行如下命令,将当前目录及其子目录下所有文件后缀为.txt的文件列出来。

find . -name "*.txt"

  • 执行如下命令,查找系统中所有文件长度为0的普通文件,并列出它们的完整路径。

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



目录
相关文章
|
13天前
|
存储 安全 Linux
|
16天前
|
Linux Shell 数据安全/隐私保护
|
14天前
|
Unix Linux Shell
linux入门!
本文档介绍了Linux系统入门的基础知识,包括操作系统概述、CentOS系统的安装与远程连接、文件操作、目录结构、用户和用户组管理、权限管理、Shell基础、输入输出、压缩打包、文件传输、软件安装、文件查找、进程管理、定时任务和服务管理等内容。重点讲解了常见的命令和操作技巧,帮助初学者快速掌握Linux系统的基本使用方法。
52 3
|
1月前
|
Linux Windows
【Linux】-基本指令(下)
【Linux】-基本指令(下)
【Linux】-基本指令(下)
|
1月前
|
Linux
【Linux第一弹】- 基本指令
【Linux第一弹】- 基本指令
34 1
|
1月前
|
Linux 编译器 C语言
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
|
1月前
|
Unix Linux 索引
【Linux】-基本指令(上)
【Linux】-基本指令(上)
|
1月前
|
Linux 开发工具
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
|
6月前
|
监控 网络协议 Java
Linux 网络编程从入门到进阶 学习指南
在上一篇文章中,我们探讨了 Linux 系统编程的诸多基础构件,包括文件操作、进程管理和线程同步等,接下来,我们将视野扩展到网络世界。在这个新篇章里,我们要让应用跳出单机限制,学会在网络上跨机器交流信息。
Linux 网络编程从入门到进阶 学习指南
|
存储 Linux C语言
Linux:入门学习知识及常见指令
Linux:入门学习知识及常见指令