iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >Linux基础实验
  • 162
分享到

Linux基础实验

linux运维服务器 2023-12-22 17:12:32 162人浏览 泡泡鱼
摘要

linux基础实验 引用希翼平台Linux基础实验 目录 Linux基础实验一、Linux文件和目录mkdir(创建目录)ls(列出目录)pwd (显示目前所在的目录)cd (切换目录)rmdir (删除空的目录)touch

linux基础实验

引用希翼平台Linux基础实验

目录

一、Linux文件和目录

mkdir(创建目录)

语法:
mkdir [-mp] 目录名称

选项和参数:

  • -m :配置文件的权限
  • -p :递归地创建目标目录及全部的上层目录

示例:

root@cg:~/base/dirandfile# mkdir testroot@cg:~/base/dirandfile# mkdir test1/test2/test3/test4mkdir: cannot create directory 'test1/test2/test3/test4': No such file or directoryroot@cg:~/base/dirandfile# mkdir -p test1/test2/test3/test4root@cg:~/base/dirandfile#

可以看到有了-p选项之后,可以递归地创建出所需要目录的上层目录。

root@cg:~/base/dirandfile# ls -ltotal 8drwxr-xr-x 2 root root 4096 Feb 16 14:42 testdrwxr-xr-x 3 root root 4096 Feb 16 14:43 test1root@cg:~/base/dirandfile# mkdir -m 711 test2root@cg:~/base/dirandfile# ls -ltotal 12drwxr-xr-x 2 root root 4096 Feb 16 14:42 testdrwxr-xr-x 3 root root 4096 Feb 16 14:43 test1drwx--x--x 2 root root 4096 Feb 16 14:44 test2root@cg:~/base/dirandfile#

如果没有设置-m选项,那么该目录将被设置为默认权限,在上例中该目录通过-m 711设置为了drwxr-sr-x权限。

ls(列出目录)

语法:
ls [-aAdfFhilnrRSt] 目录名称
ls [–color={never,auto,always}] 目录名称
ls [–full-time] 目录名称

选项和参数:

  • -a :全部的文件,包括隐藏文件
  • -d :仅列出目录
  • -l :列出详细的文件属性

示例:

root@cg:~/base/dirandfile# ls -ltotal 12drwxr-xr-x 2 root root 4096 Feb 16 14:42 testdrwxr-xr-x 3 root root 4096 Feb 16 14:43 test1drwx--x--x 2 root root 4096 Feb 16 14:44 test2root@cg:~/base/dirandfile#

pwd (显示目前所在的目录)

pwd 是 Print Working Directory 的缩写,也就是显示目前所在目录的命令。

语法:
pwd

示例:
显示出当前目录的绝对路径:

root@cg:~/base/dirandfile# pwd/headless/base/dirandfileroot@cg:~/base/dirandfile#

cd (切换目录)

cd是Change Directory的缩写,这是用来变换工作目录的命令。

语法:
cd [相对路径或绝对路径]

示例:

使用绝对路径切换到 test2 目录

root@cg:~/base/dirandfile# cd /headless/base/dirandfile/test2

…表示回到当前目录的上一级目录

root@cg:~/base/dirandfile/test2# cd ..

使用相对路径切换到 test2 目录

root@cg:~/base/dirandfile# cd ./test2

~表示自己的家目录,cd ~表示回到家目录,亦即是 /headless 这个目录

root@cg:~/base/dirandfile# cd /headless/base/dirandfile/test2root@cg:~/base/dirandfile/test2# cd ..root@cg:~/base/dirandfile# cd ./test2root@cg:~/base/dirandfile/test2# cd ~root@cg:~# pwd/headless

-表示切换到当前目录之前的目录

root@cg:~# cd -/headless/base/dirandfile/test2root@cg:~/base/dirandfile/test2# pwd/headless/base/dirandfile/test2root@cg:~/base/dirandfile/test2#

rmdir (删除空的目录)

语法:
rmdir [-p] 目录名称

选项与参数:

-p :连同上一级『空的』目录也一起删除

示例:

可直接删除空目录

root@cg:~/base/dirandfile# ls -ltotal 12drwxr-xr-x 2 root root 4096 Feb 16 14:51 testdrwxr-xr-x 3 root root 4096 Feb 16 14:56 test1drwx--x--x 2 root root 4096 Feb 16 14:44 test2root@cg:~/base/dirandfile# rmdir testroot@cg:~/base/dirandfile# ls -ltotal 8drwxr-xr-x 3 root root 4096 Feb 16 14:56 test1drwx--x--x 2 root root 4096 Feb 16 14:44 test2root@cg:~/base/dirandfile#

非空目录无法删除

root@cg:~/base/dirandfile# rmdir test1rmdir: failed to remove 'test1': Directory not empty

递归地删除test1/test2/test3/test4

root@cg:~/base/dirandfile# rmdir -p test1/test2/test3/test4root@cg:~/base/dirandfile# ls -ltotal 4drwx--x--x 2 root root 4096 Feb 16 14:44 test2root@cg:~/base/dirandfile#

touch (创建新文件)

一是创建新的空文件
二是修改已存在文件的时间戳

语法:
touch [-acdfmrt] 文件名称

选项与参数:

  • -a 或–time=atime或–time=access或–time=use 只更改存取时间。
  • -c 或–no-create 不建立任何文档。
  • -d 使用指定的日期时间,而非现在的时间。
  • -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
  • -m 或–time=mtime或–time=modify 只更改变动时间。
  • -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
  • -t 使用指定的日期时间,而非现在的时间。

示例:

创建新文件

root@cg:~/base/dirandfile# touch file1.txtroot@cg:~/base/dirandfile# ls -ltotal 4-rw-r--r-- 1 root root    0 Feb 16 15:00 file1.txtdrwx--x--x 2 root root 4096 Feb 16 14:44 test2root@cg:~/base/dirandfile# touch file2.txtroot@cg:~/base/dirandfile# ls -ltotal 4-rw-r--r-- 1 root root    0 Feb 16 15:00 file1.txt-rw-r--r-- 1 root root    0 Feb 16 15:04 file2.txtdrwx--x--x 2 root root 4096 Feb 16 14:44 test2root@cg:~/base/dirandfile#

修改文件的时间戳

root@cg:~/base/dirandfile# ls -ltotal 4-rw-r--r-- 1 root root    0 Feb 16 15:00 file1.txt-rw-r--r-- 1 root root    0 Feb 16 15:04 file2.txtdrwx--x--x 2 root root 4096 Feb 16 14:44 test2root@cg:~/base/dirandfile# touch -t 202002161300 file1.txtroot@cg:~/base/dirandfile# ls -ltotal 4-rw-r--r-- 1 root root    0 Feb 16 13:00 file1.txt-rw-r--r-- 1 root root    0 Feb 16 15:04 file2.txtdrwx--x--x 2 root root 4096 Feb 16 14:44 test2root@cg:~/base/dirandfile#

cp (复制文件或目录)

cp 即拷贝文件和目录

语法:
cp [-adfilprsu] source destination
cp [options] source1 source2 source3 … directory

选项与参数:

  • -a:相当于同时使用-pdr
  • -d:若源文件为链接文件,则复制链接文件属性而非文件本身
  • -f:强制复制文件或目录,无论目标文件或目录是否已经存在
  • -i:若目标文件已存在,覆盖时会先询问
  • -l:复制为硬链接
  • -p:连同文件的属性一起复制过去
  • -r:递归地复制各层目录
  • -s:复制为软链接
  • -u:若目标文件比源文件旧才升级目标文件

示例:

root@cg:~/base/dirandfile# cp file1.txt test2/root@cg:~/base/dirandfile# cp -i file1.txt test2/cp: overwrite 'test2/file1.txt'? nroot@cg:~/base/dirandfile#

rm (移除文件或目录)

语法:
rm [-fir] 文件或目录
选项与参数:

  • -f :强制执行删除操作,不发出警告;
  • -i :删除前会请求确认
  • -r :递归删除,用于删除多层目录

示例:

root@cg:~/base/dirandfile# rm -i file1.txt rm: remove regular empty file 'file1.txt'? yroot@cg:~/base/dirandfile# ls -ltotal 4-rw-r--r-- 1 root root    0 Feb 16 15:04 file2.txtdrwx--x--x 2 root root 4096 Feb 16 15:06 test2root@cg:~/base/dirandfile#

mv (移动文件与目录,或修改名称)

语法:
mv [-fiu] 源 目标
mv [options] 源1 源2 源3 … 目标

选项与参数:

  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
  • -i :若目标文件已存在,覆盖时会先询问
  • -u :若目标文件已经存在,且 source 比较新,才会升级 (update)

示例:

root@cg:~/base/dirandfile# mkdir testroot@cg:~/base/dirandfile# mv file2.txt testroot@cg:~/base/dirandfile# ls -ltotal 8drwxr-xr-x 2 root root 4096 Feb 16 15:09 testdrwx--x--x 2 root root 4096 Feb 16 15:06 test2root@cg:~/base/dirandfile# mv test test1root@cg:~/base/dirandfile# ls -ltotal 8drwxr-xr-x 2 root root 4096 Feb 16 15:09 test1drwx--x--x 2 root root 4096 Feb 16 15:06 test2root@cg:~/base/dirandfile# mv test2 test1root@cg:~/base/dirandfile# ls -ltotal 4drwxr-xr-x 3 root root 4096 Feb 16 15:10 test1root@cg:~/base/dirandfile# ls -l test1total 4-rw-r--r-- 1 root root    0 Feb 16 15:04 file2.txtdrwx--x--x 2 root root 4096 Feb 16 15:06 test2root@cg:~/base/dirandfile#

二、Linux文本文件

将文件file.txt和longfile.txt复制到本实验工作目录中:

$ cp file.txt longfile.txt text

Linux系统中使用以下命令来查看文件的内容:

  • cat 由第一行开始显示文件内容
  • tac 从最后一行开始显示文本内容
  • nl 显示文本内容同时输出行号
  • more 一页一页的显示文件内容
  • less 与 more 类似,但可以向前翻页
  • head 只看头几行
  • tail 只看末端几行

cat

由第一行开始显示文件内容

语法:
cat [-AbEnTv]

选项与参数:

  • -A :相当于同时使用-vET
  • -b :列出非空白行的行号
  • -E :将结尾的断行字节$显示出来;
  • -n :列出全部行的行号
  • -T :将 [tab] 按键以 ^I 显示出来;
  • -v :列出一些看不出来的特殊字符

tac

与cat命令正好相反,从最后一行开始打印

more

在 more 这个程序的运行过程中,你有几个按键可以按的:

  • 空格键 (space) :向下显示一页
  • Enter :向下显示一行

head

打印出文件的前几行,默认是前10行

语法:
head [-n number] 文件

选项和参数:

  • -n :后面接数字,代表显示几行的意思

tail

取出文件后面几行

语法:
tail [-n number] 文件

选项与参数:

  • -n :后面接数字,代表显示几行的意思
  • -f :实时查看被添加到一个文件中的内容

nl

输出内容时顺便打印行号

语法:
nl [-bn] 文件

选项与参数:

  • -b :指定行号指定的方式,主要有两种:
    -b a :表示不论是否为空行,也同样列出行号(类似 cat -n)
    -b t :如果有空行,空的那一行不要列出行号(默认值)
  • -n ln :行号在萤幕的最左方显示:
    -n rn :行号在自己栏位的最右方显示,且不加 0
    -n rz :行号在自己栏位的最右方显示,且加 0

实验

请在本实验工作目录下完成。在命令后添加"> 文件名"将内容输出到文件中。

cd ~/basemkdir textcp file.txt longfile.txt textcd text

任务一:

从最后一行开始显示longfile.txt内容并输出到文件text_1.txt中(25分)。

tac longfile.txt > text_1.txt

任务二:

使用more查看文件longfile.txt内容并输出到文件text_2.txt中(25分)。

more longfile.txt > text_2.txt

任务三:

查看longfile.txt的后30行内容,并输出到文件text_3.txt中(25分)。

tail -n 30 longfile.txt > text_3.txt

任务四:

输出longfile.txt的内容并显示行号,行号在栏位的最右方显示且补0,将结果输出到文件text_4.txt中(25分)。

nl -n rz longfile.txt > text_4.txt

三、用户与群组管理

Linux用户管理–用户的添加

语法:
useradd [-cdgGsu] 用户名

选项与参数:

  • -c 添加备注文字,将添加到passwd的备注栏位
  • -d 指定用户主目录,若该目录不存在,可以使用-m创建
  • -g 指定用户所属的用户组
  • -G 指定用户所属的附加组
  • -s 指定用户登录后使用的shell
  • -u 指定用户的用户号

示例:

添加用户sam,并指定家目录为/home/sam

root@db2e7b5ec045:~/Desktop# useradd -d /home/sam -m samroot@db2e7b5ec045:~/Desktop# su samsam@db2e7b5ec045:/headless/Desktop$ cd ~sam@db2e7b5ec045:~$ pwd/home/samsam@cg:~$ exitexitroot@cg:~/Desktop#

useradd添加用户时,默认会为用户创建一个与用户同名的用户组。

-g 选项表示不为用户创建新组, 而使用 -g 后的指定用户组。

-G 后面跟一个用户组列表,使用户属于指定的多个用户组。

root@cg:~/Desktop# groupadd hadoop1root@cg:~/Desktop# groupadd hadoop2root@cg:~/Desktop# groupadd hadoop3root@cg:~/Desktop# useradd -s /bin/bash -g hadoop1 -G hadoop2,hadoop3 tomroot@cg:~/Desktop# groups tomtom : hadoop1 hadoop2 hadoop3

首先使用groupadd 创建了hadoop1、hadoop2、hadoop3三个组。然后,添加tom用户,将tom添加到这三个组中。

groups命令可查看某个用户属于哪些组。

Linux用户管理–用户的删除

语法:
userdel -r 用户名

选项与参数:

  • -r 将用户的主目录一并删除

示例:

root@cg:~/Desktop# useradd -s /bin/bash -d /home/lucy -m lucyroot@cg:~/Desktop# ls -l /hometotal 8drwxr-xr-x 2 lucy lucy 4096 Feb 17 12:17 lucydrwxr-xr-x 2 sam  sam  4096 Feb 17 12:10 samroot@cg:~/Desktop# userdel lucyroot@cg:~/Desktop# userdel -r samuserdel: sam mail spool (/var/mail/sam) not foundroot@cg:~/Desktop# ls -l /hometotal 4drwxr-xr-x 2 1002 1004 4096 Feb 17 12:17 lucyroot@cg:~/Desktop#

此命令将删除该用户在系统文件中的记录,同时删除用户主目录。

Linux用户管理–用户的修改

修改用户的一些属性,如用户号、主目录、用户组、登录Shell等。

语法:
usermod [-cdgGsu] 用户名

选项与参数:

  • -l 用于重命名该用户 其余参数与useradd命令基本类似

示例:

root@cg:~/Desktop# useradd -s /bin/bash -d /home/test -g hadoop1 testroot@cg:~/Desktop# id testuid=1002(test) gid=1001(hadoop1) groups=1001(hadoop1)root@cg:~/Desktop# cat /etc/passwd | grep testtest:x:1002:1001::/home/test:/bin/bashroot@cg:~/Desktop# mkdir /home/test_newroot@cg:~/Desktop# usermod -s /bin/ksh -d /home/test_new -g hadoop2 testroot@cg:~/Desktop# id testuid=1002(test) gid=1002(hadoop2) groups=1002(hadoop2)root@cg:~/Desktop# cat /etc/passwd | grep testtest:x:1002:1002::/home/test_new:/bin/kshroot@cg:~/Desktop#

可以看到,使用usermod对test用户的默认shell、家目录、所归属的组都做了修改。

注意:/etc/passwd文件中存储了每个用户的基本信息。

Linux用户管理–用户密码的设置和修改

新用户被创建时没有密码,但是被系统定,不能使用,必须设置口令才能使用。

语法:
passwd [-ludf] 用户名

选项与参数:

  • -l 锁定用户
  • -u 解锁用户
  • -d 取消密码设置

示例:

创建新用户sam

root@cg:~/Desktop# useradd -d /home/sam -m samroot@cg:~/Desktop#

在root用户下可以设置其他用户的密码,如给sam用户设置为sam123456

root@cg:~/Desktop# passwd samEnter new UNIX passWord: Retype new UNIX password: passwd: password updated successfullyroot@cg:~/Desktop#

切换到tom用户,使用tom切换到sam账户,输入密码:sam123456登录。

root@cg:~/Desktop# su tomtom@cg:/headless/Desktop$ su samPassword: sam@cg:/headless/Desktop$

sam用户可修改自己的密码,将密码修改为helloworld。

用户修改自己的密码前需要先输入当前的密码:

sam@cg:/headless/Desktop$ passwd Changing password for sam.(current) UNIX password: Enter new UNIX password: Retype new UNIX password: passwd: password updated successfullysam@cg:/headless/Desktop$

连续输入两次exit命令切换回root用户,再将sam用户密码置为空, 置空后,无法登录。

sam@cg:/headless/Desktop$ exitexittom@cg:/headless/Desktop$ exitexitroot@cg:~/Desktop# passwd -d sampasswd: password expiry infORMation changed.root@cg:~/Desktop# su tomtom@cg:/headless/Desktop$ su samPassword: su: Authentication failuretom@cg:/headless/Desktop$

重新为sam设置密码为:sam123456

root@cg:~/Desktop# passwd -u sampasswd: unlocking the password would result in a passwordless account.You should set a password with usermod -p to unlock the password of this account.root@cg:~/Desktop# passwd samEnter new UNIX password: Retype new UNIX password: passwd: password updated successfullyroot@cg:~/Desktop# su tomtom@cg:/headless/Desktop$ su samPassword: sam@cg:/headless/Desktop$

加 -l 可锁定某一用户,使其无法登录,使用 -l 锁定 sam

sam@cg:/headless/Desktop$ exitexittom@cg:/headless/Desktop$ exitexitroot@cg:~/Desktop# passwd -l sampasswd: password expiry information changed.root@cg:~/Desktop# su tomtom@cg:/headless/Desktop$ su samPassword: su: Authentication failuretom@cg:/headless/Desktop$

使用 -u 可对用户解锁,

tom@cg:/headless/Desktop$ exitexitroot@cg:~/Desktop# passwd -u sampasswd: password expiry information changed.root@cg:~/Desktop# su tomtom@cg:/headless/Desktop$ su samPassword: sam@cg:/headless/Desktop$

Linux用户组管理–用户组的添加

语法:
groupadd [-Go] 用户组名

选项与参数:

  • -g 指定新用户组的标识号
  • -o 使新用户组标示号可以与旧用户组的相同

示例:

groupadd group1  groupadd -g 101 group2

Linux用户组管理–用户组的删除

cd是Change Directory的缩写,这是用来变换工作目录的命令。

语法:
groupdel 用户组名

示例:

groupdel group1

Linux用户组管理–用户组的修改

语法:
groupmod [-gon] 目录名称

选项与参数:

  • -g 为用户组指定新的标识号。
  • -o 与-g选项同时使用,用户组的新标示号可以与系统已有用户组的标示号重复。
  • -n 修改用户组的名字

示例:

groupmod -g 102 group2groupmod -g 10000 -n group3 group2

Linux用户组管理–用户在所属的用户组之间切换

用户在登录之后,如果其他用户组中包含该用户,可使用newgrp命令切换到其他用户组,以获得其他用户组的权限语法:
newgrp 其他用户组

实验

创建用户组homeworkgroup,并创建用户homeworkuser,使得该用户属于这个用户组(30分)。

groupadd homeworkgroupuseradd -g homeworkgroup homeworkuser

分别修改homeworkuser的用户名为newuser,主目录为/home/anotherhome,用户组为developer(先创建);并修改用户组homeworkgroup标示号为9000(50分)。

groupadd developerusermod -d /home/anotherhome -g developer -l newuser homeworkusergroupmod -g 9000 homeworkgroup

删除任务一中创建的用户和用户组(20分)。

groupdel homeworkgroupuserdel -r newuser

四、文件目录权限管理

Linux用户分类

在Linux系统中,对于文件和目录而言,用户可以分为以下三类:

  • 文件或目录的属主
  • 与属主同组的用户
  • 其他用户(超级管理员除外)

root用户(超级管理员)

root用户是Linux系统中的超级管理员,拥有最大的权限,拥有对文件和目录的全部权限。

权限分类

在Linux系统中,对于文件和目录而言,用户权限分为了以下三类:

  • 读权(read) ls、cat、more、head、tail等命令
  • 写权(write) cp、mv、rm、touch、mkdir、>>等命令
  • 执行权(execute) cd等命令

权限查看

ls -l可查看当前目录下文件和目录的权限。

文件的属性由最左边的10个连续字符确定,具体划分如下图所示:

在这里插入图片描述

其中的第一个字符代表的是文件类型,有以下几种:

  • d代表目录
  • -代表普通文件
  • l代表软链接
  • b表示块设备
  • c表示字符设备

2~4位字符依次代表文件属主的读权、写权、执行权,分别用rwx表示,若没有该权限则用-填充。
5~7位字符依次代表文件属组的读权、写权、执行权。
8~10位字符一次代表其他用户的读权、写权、执行权。

权限更改

语法:
chmod [-R] 权限修改 文件或目录

选项与参数:

  • -R 表示递归地修改权限,作用于该目录及其包含的所有文件和目录

命令的施加对象:

  • u 表示文件或目录的属主
  • g 表示同组其他成员
  • o 表示其他用户
  • a 表示所有用户

权限的改变:

  • + 表示增加该权限
  • - 表示取消该权限
  • = 表示把权限更改成后续的值

示例:

chmod u+x,g=rw,o-r file.txt

数字形式

权限的分数对照:

  • r:4
  • w:2
  • x:1

在设置某种用户的权限时,直接将其权限的分数相加即可。

语法:
chmod [-R] xyz 文件或目录

选项与参数:

  • -R 表示递归地修改权限,作用于该目录及其包含的所有文件和目录
  • x,y,z分别为三种不同用户权限的计算值

示例:

chmod 777 longfile.txt

属主和属组更改

该命令仅由root用户使用!

语法:
chown [–R] 属主名 文件或目录 chown [-R] 属主名:属组名 文件或目录

选项与参数:

  • -R 需在更改目录的属主或属组时添加,文件则不需要

示例:

chown root:root longfile.txt

实验

清空本实验工作目录,重新复制文件file.txt和longfile.txt到本实验工作目录(20分)

cd ~cd basemkdir privilegecp file.txt longfile.txt privilegecd privilege

任务一:

对于文件longfile.txt,采用字母形式赋予属主和属组全部权限,取消其他用户全部权限(40分)。

ls -lchmod u=rwx,g=rwx,o--- longfile.txt

任务二:

对于文件file.txt,采用数字形式赋予属主和属组全部权限,取消其他用户全部权限(40分)。

chmod 770 file.txt

五、文件的打包与压缩

文件的打包

文件的打包是指将多个文件打包成一个文件,由于Linux的很多压缩程序只能对一个文件进行压缩,因此首先要将多个文件打包成一个文件,这个过程并不会减小文件占用的磁盘空间,常用的打包命令为tar。

文件的打包–打包

语法:
tar [-cvf] 生成tar包名 将要打包的文件和目录

选项与参数:

  • -c 指定打包后的tar包名
  • -v 查看打包过程
  • -f 指定将要打包的文件和目录

示例:

tar -cvf tar1.tar dir file.txt longfile.txt

文件的打包–解包

语法:
tar [-xvf] 解压的包名 [-C] 解压到的文件夹

选项与参数:

  • -x 从打包文件中解压
  • -v 查看解压过程
  • -f 指定解压的tar包
  • -C 指定解压到的文件夹

示例:

rm -rf file.txt longfile.txt dir

解压到默认的当前文件夹

tar -xvf tar1.tar

解压到指定文件夹

tar -xvf tar1.tar -C dir

.gz格式的压缩

gzip只能压缩文件,不能压缩目录。

语法:
gzip [-cdrvlf] 要压缩的文件名

选项与参数:

  • -d 解压.gz文件
  • -c 保留原文件,并将输出写到标准输出中
  • -r 递归地压缩指定的目录
  • -v 显示压缩过程信息
  • -l 显示压缩文件的详细信息
  • -f 强制压缩

示例:

gzip -v longfile.txt

longfile.txt: 46.7% – replaced with longfile.txt.gz

gzip -l longfile.txt.gz

compressed uncompressed ratio uncompressed_name
10930 20435 46.7% longfile.txt

.gz格式的解压

语法:
gunzip [-crvlf] 要解压的.gz文件

选项与参数:

  • -c 将解压后的文件写到标准输出
  • -r 递归地解压指定的目录
  • -v 显示解压过程信息
  • -l 显示压缩文件的详细信息
  • -f 强制解压

示例:

gunzip -v longfile.txt.gz

longfile.txt.gz: 46.7% – replaced with longfile.txt

.zip格式的压缩

语法:
zip [-drqvx] 压缩包名 将要打包的文件和目录

选项与参数:

  • -d 从压缩文件内删除指定的文件
  • -r 递归地压缩指定的目录
  • -q 不显示压缩过程信息
  • -v 显示压缩过程或版本信息
  • -x 压缩时排除符合条件的文件

示例:

zip -r dir.zip dir

adding: dir/ (stored 0%)
adding: dir/file.txt (stored 0%)
adding: dir/dir/ (stored 0%)
adding: dir/longfile.txt (deflated 47%)

.zip格式的解压

语法:
unzip [-fndqv] 要解压的.zip文件

选项与参数:

  • -f 解压缩时覆盖现有的文件
  • -n 解压缩时不覆盖现有的文件
  • -d 指定解压到的文件夹
  • -q 不显示解压过程信息
  • -v 显示解压过程或版本信息

示例:

unzip -f dir.zip

ArcHive: dir.zip

.bz2格式的压缩

bzip2只能压缩文件,不能压缩目录。

语法:
bzip2 [-zdfv] 要压缩的文件名

选项与参数:

  • -z 强制执行压缩
  • -d 解压.bz2文件
  • -f 压缩时覆盖同名文件
  • -v 显示压缩过程或版本信息

示例:

bzip2 -v tar1.tar

tar1.tar: 3.188:1, 2.509 bits/byte, 68.63% saved, 30720 in, 9636 out.

.bz2格式的解压

语法:
bunzip2 [-fkLsvV] 要解压的.bz2文件

选项与参数:

  • -f 解压缩时,若要覆盖同名文件,需添加该选项
  • -k 解压时保留原压缩文件
  • -v 显示解压过程或版本信息

示例:

bunzip2 -kv tar1.tar.bz2

tar1.tar.bz2: done

tar命令的压缩

采用gzip进行压缩:
tar -zcvf .tar.gz 压缩包名 一系列文件或目录
示例:

tar -zcvf compress1.tar.gz dir longfile.txt

dir/
dir/file.txt
dir/dir/
dir/longfile.txt
longfile.txt

采用bzip2进行压缩:
tar -jcvf .tar.bz2 压缩包名 一系列文件或目录
示例:

tar -jcvf compress2.tar.bz2 dir longfile.txt`

dir/
dir/file.txt
dir/dir/
dir/longfile.txt
longfile.txt

tar命令的解压

选项与参数:

  • -C 解压到指定的文件夹

解压.tar.gz压缩包:
tar -zxvf .tar.gz压缩包名
示例:

tar -zxvf compress1.tar.gz

解压.tar.bz2压缩包:
tar -jxvf .tar.bz2压缩包名
示例:

tar -jxvf compress2.tar.bz2

实验

只保留本实验工作目录下的dir、file.txt和longfile.txt,删除其他内容。

任务一

将dir压缩为compress1.zip(10分),将file.txt压缩为compress2.tar.gz(20分),将longfile.txt压缩为compress3.tar.bz2(20分)。

zip compress1.zip dirtar -zcvf compress2.tar.gz file.txttar -jcvf compress3.tar.bz2 longfile.txt

任务二

新建文件夹decompress,依次将任务一中的compress1.zip(10分)、compress2.tar.gz(20分)、compress3.tar.bz2(20分)解压到该文件夹下。

mkdir decompressunzip -d decompress/ compress1.ziptar -zxvf compress2.tar.gz -C decompress/tar -jxvf compress3.tar.bz2 -C decompress/

六、文本编辑神器vi

vi介绍

vi是一种工作在Linux上的文本编辑器,全称是Visual Interface。它在字符模式下工作,不需要图形界面。它有三种基本的工作模式:

  • 命令模式(Command mode)
  • 输入模式(Insert mode)
  • 底线命令模式(Last line mode)

命令模式

用户再启动vi后,直接进入了命令模式。在此模式下可以输入各种命令。以下是几种常用的命令:

  • i 切换到输入模式,以输入字符
  • x 删除当前光标所在处的字符
  • : 切换到底线命令模式,以在最底一行输入命令

输入模式

在命令模式下输入i进入输入模式。在输入模式中,可以使用以下按键完成想要的输入:

  • 按键输入各种字符
  • 方向键 在文本中移动光标
  • ENTER 回车键,换行
  • BACK SPACE 退格键,删除光标所在位置前的一个字符
  • DEL 删除键,删除光标所在位置后的一个字符
  • HOME/END 移动光标到行首/行尾
  • Page Up/Page Down 上/下翻页
  • Insert 切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC 退出输入模式,回到命令模式

底线命令模式

在命令模式下输入:进入底线命令模式,底线命令模式相比普通的命令模式,增加了许多可用的命令,最基本的命令如下:

  • q 退出程序
  • w 保存文件
  • 按下ESC 或回车执行命令退出底线命令模式,回到命令模式

vi工作模式图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MRGVM608-1678439687108)(E:\Typora_md\学习文档\课程\大数据课程\assets\158133032811208243846.png)]

实验

在工作目录下创建文件num.txt,在第n行写数量为n的字母依次写完26个字母,如:第一行写a,第二行写b、c,第三行写d、e、f…,每行的字母之间空一格,行末写完后保存离开(100分)。

cd ~/base/text-vivi num.txtab c……v w x y z:wq

七、文本处理神器sed

sed介绍

sed利用脚本来对文件进行处理,是一种非交互的流编辑器,按照脚本的指令来编辑、处理文本文件。其使用场景主要包括以下几种:

  • vi编辑困难的文本
  • 过于庞大的文本
  • 有规律的文本修改

sed语法

sed [-hnV][-e script][-f script文件] 文本文件

选项与参数

  • -h 查看帮助
  • -n 仅显示处理后的结果
  • -V 显示版本信息
  • -e 指定处理的脚本命令
  • -f 指定处理的脚本命令文件

操作说明

  • a 在匹配行后面加入文本
  • c :字符替换
  • d :删除内容
  • i :在匹配行前面加入文本
  • p :打印匹配的行
  • s/old/new :用new替换正则表达式old

示例

在file.txt文件的第三行后添加一行“newLine”,并将结果输出:

sed -e 3a\newLine file.txt

在第二行后多输出一行“newLine”

nl file.txt | sed '2a newLine'

在输出中删除第二行

nl file.txt | sed '2d'

在输出中替换第二行

nl file.txt | sed '2c newLine'

在输出中搜索含有关键字的行,加-n后只显示匹配到的行

nl file.txt | sed '/dow/p'nl file.txt | sed -n '/dow/p'

在输出中删除含有关键字的行

nl file.txt | sed '/dow/d'

实验

请在本实验工作目录下完成,在命令后追加"> 文件名"将内容输出到文件中。

任务一:

将file2.txt显示行号输出,并在第一行后添加一行“Unix is also an os”,并输出到文件sed_1.txt(50分)。

nl file2.txt | sed "1a Unix is also an os" > sed_1.txt

任务二:

将file2.txt显示行号输出,并搜索含有关键字’Mac‘的行重复输出,全部内容输出到文件sed_2.txt(50分)。

nl file2.txt | sed '/Mac/p' > sed_2.txt

八、文本搜索神器grep

grep介绍

Linux中的grep命令是强大的文本搜索工具,使用正则表达式搜索文本,并将匹配到的行打印出来。

grep语法

grep [-acinv] [–color=auto] 搜寻内容 目标文本文件

选项与参数

  • -a 将二进制文件当作文本文件搜索
  • -c 统计搜索到的次数
  • -i 忽略大小写
  • -n 输出行号
  • -v 输出没有搜索到内容的行
  • –color=auto 找到的搜索内容上加颜色

示例

在longfile.txt搜索含有“梦”的句子并输出行号:

grep -n 梦 longfile.txt

1:——此开卷第一回也。作者自云:曾历过一番梦幻之后,故将真事隐去,而借
11:中间用“梦”“幻”等字,却是此书本旨,兼寓提醒阅者之意。
91:定睛看时,只见烈日炎炎,芭蕉冉冉,梦中之事便忘了一半。又见奶母抱了英莲

反向查找,在longfile.txt中搜索不含"日"的句子并输出行号:

grep -nv 日 longfile.txt

1:——此开卷第一回也。作者自云:曾历过一番梦幻之后,故将真事隐去,而借
2:通灵说此《石头记》一书也,故曰“甄士隐”云云。但书中所记何事何人?自己又
4:见识皆出我之上。我堂堂须眉诚不若彼裙钗,我实愧则有馀,悔又无益,大无可如
7:告天下;知我之负罪固多,然闺阁中历历有人,万不可因我之不肖,自护己短,一
........................省略.................................

正则匹配

正则匹配规则

  • ^ 以此开头的行获得匹配
  • $ 以此结尾的行获得匹配
  • < 匹配包含以此开头的单词的行
  • > 匹配包含以此结尾的单词的行
  • 单个字符;如[A] 即A符合要求
  • [ - ] 范围 ;如[A-Z]即A,B,C一直到Z都符合要求
  • . 所有的单个字符
  • ? 匹配0到1次。
  • * 匹配0到多次。
  • + 匹配1到多次。
  • {n} 匹配n次。
  • {n,} 匹配n到多次。
  • {n,m} 匹配n到m次。
  • \ 忽略正则表达式中特殊字符的原有含义

示例:

grep -n [a-g] file.txt

实验

在命令后添加"> 文件名"将内容输出到文件中。

任务一:

输出longfile.txt所有包含"石头"的行并输出行号,输出到文件grep_1.txt(40分)。

grep -n 石头 longfile.txt > grep_1.txt

任务二:

统计longfile.txt中"作者"出现的次数,输出到文件grep_2.txt(30分)。

grep -c 作者 longfile.txt > grep_2.txt

任务三:

统计file.txt所有包含以OS结尾的单词的行,输出到文件grep_3.txt(30分)。

grep 'OS\>' file.txt > grep_3.txt

九、Linux文件搜索

概述

文件搜索的常用命令有:which、whereis、find、locate。

which

which指令会在环境变量$PATH设置的目录里查找符合条件的文件

语法:
which 文件

示例:

which ls

/bin/ls

whereis

该指令会在特定目录中查找符合条件的文件。这些文件应属于源文件、二进制文件,或是man文件。
语法:
whereis [-bfmsu][-B <目录>…][-M <目录>…][-S <目录>…] 文件

选项与参数:

  • -b  只查找二进制文件
  • -B<目录>  只在指定目录下查找二进制文件
  • -f  不显示文件名前的路径名称
  • -m  只查找man文件。
  • -M<目录>  只在指定目录下查找man文件
  • -s  只查找源代码文件
  • -S<目录>  只在指定目录下查找原始代码文件
  • -u  查找不包含指定类型的文件

示例:

whereis -b passwd

passwd: /usr/bin/passwd /etc/passwd

locate

locate命令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找符合查找条件的文档或目录

语法:
locate [-d ][–help][–version] 文件

选项与参数:

  • -d或–database= 用来指定locate指令使用的数据库。locate指令默认数据库位于/var/lib/slocate目录里,文档名为slocate.db。
  • –help 查看帮助
  • –version 显示版本信息

示例:

locate longfile.txt

/home/jovyan/compress/dir/longfile.txt

/home/jovyan/compress/longfile.txt

/home/jovyan/dirandfile/longfile.txt

/home/jovyan/longfile.txt

/home/jovyan/text-grep/longfile.txt

/home/jovyan/text-sed/longfile.txt

/home/jovyan/text-vi/longfile.txt

find

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

语法:
find 查找目录 [-option] 查找内容

选项与参数:

  • -print:列出结果,使用find命令,默认执行
  • -mtime n:文件修改时间,对文件数据的最近一次修改是在 n*24 小时之前
  • -mmin n:对文件数据的最近一次修改是在 n 分钟之前
  • -ctime n:文件状修改时间,对文件状态的最近一次修改是在 n*24 小时之前。
  • -cmin n:件状态修改,对文件状态的最近一次修改是在 n 分钟之前。
  • -atime n:访问时间,对文件的最近一次访问是在 n*24 小时之前。
  • -amin n:最后访问时间,对文件的最近一次访问是在 n 分钟之前。
  • -mtime : 指定时间曾被改动过的文件,意思是文件內容被更改过
  • -ctime : 指定时间曾被更改过的文件,意思是文件权限被更改过
  • -atime : 指定时间曾被存取过的文件,意思是文件被读取过
  • -newer file:file为已存在的文件,意为列出比file时间更新的文件
  • -type:指定文件类型
  • -uid n:指定文件属主uid
  • -gid n:指定文件属组gid
  • -user:指定文件属主名
  • -group :指定文件属组名
  • -nouser: 查找系统中没有属主的文件
  • -nogroup:查找系统中没有属组的文件
  • -name:查找文件名相匹配的文件
  • -size:查找匹配大小的文件
  • -exec COMMAND:查找后使用额外命令处理查找结果
  • -perm +mode | –mode:+为囊括所有元素,-为包含任一元素

示例:

将目前目录及其子目录下文件名后缀是txt的文件列出来

find . -name "*.txt"

将当前目录及其子目录下所有目录列出

find . -type d

查找当前目录下20分钟内被访问过的文件或目录:

find . -amin -20

查找当前目录下大于10k的普通文件,并列出其详细信息

find . -size +10k -type f

实验

新建文件夹search,将file.txt、file2.txt和longfile.txt复制其中,并新建文件夹adir、dir1和dir2和文件dir.txt,并复制longfile.txt分别到dir1和dir2中(20分)。在命令后添加"> 文件名"将内容输出到文件中。

mkdir searchcp file.txt file2.txt longfile.txt search/cd searchmkdir adirmkdir dir1mkdir dir2touch dir.txtcp longfile.txt dir1cp longfile.txt dir2

任务一

使用which搜索"touch",输出结果到search_1.txt(20分)

which touch > search_1.txt

任务二

搜索文件夹search中所有以"dir"开头的文件夹,输出结果到search_2.txt(30分)

find . -name 'dir*' > search_2.txt

任务三

搜索文件夹search中大于1k的普通文件类型文件,输出结果到search_3.txt(30分)

find . -size +1k -type f > search_3.txt

十、Shell数学计算

使用let、(())和[]进行算术运算

let 命令是 BASH 中用于计算的工具,用于执行一个或多个表达式,变量计算中不需要加上 $ 来表示变量。如果表达式中包含了空格或其他特殊字符,则必须引起来。

语法:
let 表达式
$((表达式))
$[表达式]

示例:

计算2*3

num1=2num2=3let result=num1*num2echo $result

6

计算num1++

let num1++echo $num1

3

[]可包含数学运算

result=$[num1*num2]echo $result

9

(())也可包含数学运算

result=$((num1+5))echo $result

8

使用expr进行算术运算

expr命令是一个手工命令行计数器,用于在UNIX/LINUX下求表达式变量的值,一般用于整数值,也可用于字符串。

语法:
expr 表达式

示例:

数学运算时数字和运算符之间应当有空格,否则数字会被当成字符处理

expr 3+4

3+4

expr 3 + 4

7

通配符*在做乘法运算符时要转义,即写作*

expr 3 \* 4

12

分步计算,是`,不是’

s=`expr 2 + 3`expr $s \* 4

20

使用bc进行算术运算

bc 命令是任意精度计算器语言,通常在linux下当计算器用。它类似基本的计算器, 使用这个计算器可以做基本的数学运算。

语法:
bc [-ilwqvh] 包含计算任务的文件

选项与参数:

  • -i:强制进入交互式模式
  • -l:定义使用的标准数学库
  • -w:对POSIX bc的扩展给出警告信息;
  • -q:不打印正常的GNU bc环境信息;

示例:

bC# 直接使用 2+3

使用管道

echo "20*3"|bc

设置精度

echo "scale=3; 3.333*2.222" |bc

开方运算

echo "sqrt(10000)"|bc

进制转换

abc=101010echo "obase=8;ibase=2;$abc" |bc

实验

新建文件夹math作为本实验作业目录。(10分)在命令后使用">>文件名"追加内容。

mkdir mathcd math

任务一

使用let计算2*3*4*5,结果追加到文件math.txt中。(30分)

let result=2*3*4*5echo $result >> math.txt

任务二

使用expr计算4的立方(使用乘法,expr不支持乘方),结果追加到文件math.txt中。(30分)

expr 4 \* 4 \* 4 >> math.txt

任务三

使用bc将二进制的1001011转换为十进制数字,结果追加到文件math.txt中。(30分)

abc=1001011echo "obase=10;ibase=2;$abc" | bc >> math.txt

十一、文本分析神器awk

awk介绍

AWK是一种处理文本文件的语言,是一个强大的文本分析工具。

语法
awk [选项参数] ‘script’ var=value file(s)

awk [选项参数] -f scriptfile var=value file(s)

选项与参数

  • -F fs or –field-separator fs 指定分隔符,fs是字符串或正则表达式,如-F,
  • -v var=value or –asign var=value 定义变量
  • -f scripfile or –file scriptfile 从脚本文件中读取awk命令

基础使用

首先查看文件的全部内容

cat file2.txt

1 linux is an os

2 windows is an os

3 Mac OS is an os

输出每行的第1、3项内容(默认由空格或tab划分)

awk '{print $1,$3}' file2.txt

1 is
2 is
3 OS

将每行以字符’i’划分,输出每行的第1、2项内容

awk -Fi '{print $1,$2}' file2.txt

1 l nux
2 W ndows
3 Mac OS s an os

使用内建变量’i’划分,输出每行的第1、2项内容

awk 'BEGIN{FS="i"} {print $1,$2}' file2.txt

1 l nux
2 W ndows
3 Mac OS s an os

使用多个分隔符划分,例如i和o

awk -F '[io]' '{print $1,$3,$4}' file2.txt

1 l s an s
2 W ws s an
3 Mac OS s

给变量赋值,并使用变量

awk -va=2 -vb=The '{print $1+a,b$2}' file2.txt

3 Thelinux
4 TheWindows
5 TheMac

使用运算符,输出第一项>=2,且第三项等于"is"的行的前四项内容

awk '$1>=2 && $3=="is" {print $1,$2,$3,$4}' file2.txt

2 Windows is an

使用正则表达式,查看包含"os"的行,忽略大小写

awk 'BEGIN{IGNORECASE=1} /os/' file2.txt

1 linux is an os
2 Windows is an os
3 Mac OS is an os

使用脚本

awk脚本应当符合以下形式:
BEGIN{ 执行前语句 }
{执行中语句}
END {执行后语句 }

示例:
在工作目录下新建cal.awk脚本,填入以下内容:
BEGIN{
printf “begin\n”
total=0
}
{
printf “Name is %-8s\n”,$2
total=total+length
}
END{
printf “total length is %2d\n”,total
printf “end”
}
该脚本用于计算文本文件总长度:

awk -f cal.awk file2.txt

begin
Name is linux
Name is Windows
Name is Mac
total length is 51
end

实验

新建文件夹text-awk作为本实验的工作目录,复制文件file2.txt到文件夹中。(10分)在命令后添加"> 文件名"输出内容到文件中。

mkdir text-awk & cp file2.txt text-awk

任务一

使用’s’作为分隔符,输出file2.txt每行的第2个内容到文件awk_1.txt中。(20分)

awk -Fs '{print $2}' file2.txt > awk_1.txt

任务二

默认分隔符,将file2.txt每行的第1项加2,第3项后面加"what"后输出到文件awk_2.txt中(30分)

awk -va=2 -vb=what '{print $1+a,$3b}' file2.txt >awk_2.txt

任务三

新建文件score.txt,填入以下内容:
Marry 78 84 77
Jack 66 78 45
Tom 48 73 71
Mike 87 97 95
Bob 40 57 62
编写awk脚本输出表头为“姓名 总成绩”,中间保留两个空格,之后各行依次输出每个人的名字(占6位)+总成绩(后三项之和,占3位),名字和成绩之间再保留1个空格,结果输出到文件awk_3.txt中。(40分)

vi score.txt>>>Marry  78 84 77Jack   66 78 45Tom   48 73 71Mike   87 97 95Bob   40 57 62:wq
vi q3.awk>>>BEGIN{printf "姓名  总成绩\n"}{printf "%-6s ",$1printf "%-3s\n",$2+$3+$4}END{}:wq
awk -f q3.awk score.txt > awk_3.txt

ux
2 W ndows
3 Mac OS s an os

使用内建变量’i’划分,输出每行的第1、2项内容

awk 'BEGIN{FS="i"} {print $1,$2}' file2.txt

1 l nux
2 W ndows
3 Mac OS s an os

使用多个分隔符划分,例如i和o

awk -F '[io]' '{print $1,$3,$4}' file2.txt

1 l s an s
2 W ws s an
3 Mac OS s

给变量赋值,并使用变量

awk -va=2 -vb=The '{print $1+a,b$2}' file2.txt

3 Thelinux
4 TheWindows
5 TheMac

使用运算符,输出第一项>=2,且第三项等于"is"的行的前四项内容

awk '$1>=2 && $3=="is" {print $1,$2,$3,$4}' file2.txt

2 Windows is an

使用正则表达式,查看包含"os"的行,忽略大小写

awk 'BEGIN{IGNORECASE=1} /os/' file2.txt

1 linux is an os
2 Windows is an os
3 Mac OS is an os

使用脚本

awk脚本应当符合以下形式:
BEGIN{ 执行前语句 }
{执行中语句}
END {执行后语句 }

示例:
在工作目录下新建cal.awk脚本,填入以下内容:
BEGIN{
printf “begin\n”
total=0
}
{
printf “Name is %-8s\n”,$2
total=total+length
}
END{
printf “total length is %2d\n”,total
printf “end”
}
该脚本用于计算文本文件总长度:

awk -f cal.awk file2.txt

begin
Name is linux
Name is Windows
Name is Mac
total length is 51
end

实验

新建文件夹text-awk作为本实验的工作目录,复制文件file2.txt到文件夹中。(10分)在命令后添加"> 文件名"输出内容到文件中。

mkdir text-awk & cp file2.txt text-awk

任务一

使用’s’作为分隔符,输出file2.txt每行的第2个内容到文件awk_1.txt中。(20分)

awk -Fs '{print $2}' file2.txt > awk_1.txt

任务二

默认分隔符,将file2.txt每行的第1项加2,第3项后面加"what"后输出到文件awk_2.txt中(30分)

awk -va=2 -vb=what '{print $1+a,$3b}' file2.txt >awk_2.txt

任务三

新建文件score.txt,填入以下内容:
Marry 78 84 77
Jack 66 78 45
Tom 48 73 71
Mike 87 97 95
Bob 40 57 62
编写awk脚本输出表头为“姓名 总成绩”,中间保留两个空格,之后各行依次输出每个人的名字(占6位)+总成绩(后三项之和,占3位),名字和成绩之间再保留1个空格,结果输出到文件awk_3.txt中。(40分)

vi score.txt>>>Marry  78 84 77Jack   66 78 45Tom   48 73 71Mike   87 97 95Bob   40 57 62:wq
vi q3.awk>>>BEGIN{printf "姓名  总成绩\n"}{printf "%-6s ",$1printf "%-3s\n",$2+$3+$4}END{}:wq
awk -f q3.awk score.txt > awk_3.txt

来源地址:https://blog.csdn.net/weixin_45956028/article/details/129447207

--结束END--

本文标题: Linux基础实验

本文链接: https://www.lsjlt.com/news/551432.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Linux基础实验
    Linux基础实验 引用希翼平台Linux基础实验 目录 Linux基础实验一、Linux文件和目录mkdir(创建目录)ls(列出目录)pwd (显示目前所在的目录)cd (切换目录)rmdir (删除空的目录)touch ...
    99+
    2023-12-22
    linux 运维 服务器
  • [Linux 基础] linux基础指令(1)
    文章目录 1、Linux下基本指令1.ls指令2.pwd指令3.cd指令4.touch指令5.mkdir指令6.rmdir指令 && rm指令7.man指令8.cp指令9.mv指令10.ca...
    99+
    2023-09-13
    linux
  • Linux基础命令---验证组文件grpck
    grpckgrpck指令可以验证组文件“/etc/group”和“/etc/gshadow”的完整性。检查的内容包括:正确的字段数、唯一有效的组名称、有效的组标识符、成员和管理员的有效列表、“/etc/gshadow”文件中的相应条目。检查...
    99+
    2023-06-05
  • Linux基本操作实验(3)
    Linux操作系统拥有非常多的文件,每种文件都代表一些特定的含义。如何快速的定位到你想要的文件,是一个非常复杂的过程。GNU提供了一个非常有效的工具findutil,(http://www.gnu.org/software/findutil...
    99+
    2023-01-31
    操作 Linux
  • Linux基础(3)
    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可    who | cut -d '' -f1 |sort |uniq2、列出最后登录到当前系统的用户的相关信息。    last |head -1 3...
    99+
    2023-01-31
    基础 Linux
  • H3C以太网基础实验H3CTE讲师分享
    实验任务一:网线制作本实验的主要任务是学员掌握网线的制作方法步骤一:双绞线线序双绞线由根有色导线绞合而成,按橙白、橙、绿白、蓝、蓝白、绿、棕白、棕顺时针排列,一次编号为:1、2、3、4、5、6、7、8如果要制作直连网线,双绞线一端的线序为1...
    99+
    2023-01-31
    以太网 讲师 基础
  • 装VITSA的一些经验基础
    从去年10月底买新机子后开始玩“传说中”的VISTA,刚开始的时候惊喜过、“WOW”过,但是也郁闷过、烦过,甚至一度放弃VISTA,讨厌VISTA。但现在却在渐渐深入,适应...
    99+
    2023-05-23
    基础 经验
  • Linux基础知识3
     Linux 命令的语法格式COMMAND options arguments 命令可分为:命令、应用程序、脚本文件三类命令按类型分为:内部命令:即集成在系统内核中的命令外部命令:独立的可执行程序,程序名即为命令名区分内部命令或外部命令可使...
    99+
    2023-01-31
    基础知识 Linux
  • Linux基础命令---touch
    touch将文件的访问时间和修改时间修改为当前时间。如果指定的文件不存在,那么将会创造空文件,除非指定-c或-h选项。文件参数字符串‘-‘被专门处理,并导致touch更改与标准输出相关联的文件的时间。此命令的适用范围:RedHat、RHEL...
    99+
    2023-06-06
  • Linux基础命令---bc
    bcbc是一种算数语言,其语法和c语言类似,可以交互执行。通过命令行选项可以获得一个标准的数学库。如果请求,在处理任何文件之前定义数学库。BC从处理所有文件的代码开始。命令行中列出的文件按所列顺序排列。在处理完所有文件后,BC从标准输入中读...
    99+
    2023-06-06
  • Linux基础命令---apachectl
    apachectlapachectl指令是apache http服务器的前端控制程序,可以协助控制apache服务的守护进程httpd。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fed...
    99+
    2023-06-05
  • Linux基础命令---more
    more将内容较长的文本文件内容分屏显示,支持定位关键字。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。 1、语法more [-dlfpcsu] ...
    99+
    2023-06-05
  • Linux基础命令---gunzip
    gunzip解压缩被gzip压缩过的文件。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。1、语法gunzip [-acfhlLnNrtvV]  ...
    99+
    2023-06-05
  • Linux基础命令---sort
    sort以行为单位,对文本文件进行排,并输出排序结果。默认情况下,以每一行为一个单位,从首字符开始按照ASCII码向后逐个比较。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。...
    99+
    2023-06-06
  • Linux基础命令---mknod
    mknod创建块设备或者字符设备文件。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。 1、语法mknod [选项]  设备名 ...
    99+
    2023-06-06
  • linux 培训-基础篇
    一.systemctl1.服务器启动过程redhat 7以前启动方式,init: 按顺序启动 1 2 3 4。  启动慢redhat 7 systemd:并行化启动 按依赖关系启动。 1 2 3 4(network) 5 6 7 ...
    99+
    2023-06-06
  • Linux基础命令(3)
    十二 lsof命令简介lsof(list open files) 是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以 如传输控制协议 (TCP) ...
    99+
    2023-01-31
    命令 基础 Linux
  • linux命令基础(3)
    find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。find的使用格式如下:find <指定目录> <指定条件> <指定动作>- <指定目录>: 所要搜索的目录及其所有子目录。...
    99+
    2023-01-31
    命令 基础 linux
  • Linux基础命令- history
    Linux基础命令- history 1.history 显示历史命令 作用:用于显示历史记录和执行过的指令命令 当登录shell或者是退出的时候会自动进行读取和存储 1.常用参数 语法:# history 选项 参数#参数-n ...
    99+
    2023-08-22
    linux 运维 服务器
  • Linux基础命令--slabtop
    slabtopslabtop实时显示详细的内核板条缓存信息。它显示按所列排序条件之一排序的顶级缓存的列表。它还会显示一个统计信息头,其中填充了板坯层信息。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、Fedora、S...
    99+
    2023-06-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作