四劍客第七關面試真題

liu4356發表於2024-03-16

四劍客面試真題-1

1、linux系統中,什麼命令可以從文字檔案的每一行中擷取指定的內容的資料

用awk awk可以擷取



awk '{print $1}' test.txt







實際效果演示

[root@master ~]# cat test.txt 
dsjkfh
fsdfhsd
sdfjs
sdkfhherg
dfghksdhg
sdfksdh
sfhshef

afjnshdf
fkhsekf
sefhke
efnkehuf
sfneskfhes'f

dflsdfkhs
sefjef
sdhfrkhg
erkthwe
rkshfkser
ekrhse
flehise
ege
etc
sdfksdf
sdfsdkfs
sdfsldf
sdfjsl'
se
ekhfe
efkhesh

[root@master ~]# awk '{print $1}' test.txt 
dsjkfh
fsdfhsd
sdfjs
sdkfhherg
dfghksdhg
sdfksdh
sfhshef

afjnshdf
fkhsekf
sefhke
efnkehuf
sfneskfhes'f

dflsdfkhs
sefjef
sdhfrkhg
erkthwe
rkshfkser
ekrhse
flehise
ege
etc
sdfksdf
sdfsdkfs
sdfsldf
sdfjsl'
se
ekhfe
efkhesh


2、在每一行後增加一空行?
sed 'G' test.txt

awk '1;{print ""}' test.txt






實際效果演示

[root@master ~]# sed 'G' test.txt 
dsjkfh

fsdfhsd

sdfjs

sdkfhherg

dfghksdhg

sdfksdh

sfhshef



afjnshdf

fkhsekf

sefhke

efnkehuf

sfneskfhes'f



dflsdfkhs

sefjef

sdhfrkhg

erkthwe

rkshfkser

ekrhse

flehise

ege

etc

sdfksdf

sdfsdkfs

sdfsldf

sdfjsl'

se

ekhfe

efkhesh



[root@master ~]# cat test
test.txt   testx.txt  
[root@master ~]# cat test.txt 
dsjkfh
fsdfhsd
sdfjs
sdkfhherg
dfghksdhg
sdfksdh
sfhshef

afjnshdf
fkhsekf
sefhke
efnkehuf
sfneskfhes'f

dflsdfkhs
sefjef
sdhfrkhg
erkthwe
rkshfkser
ekrhse
flehise
ege
etc
sdfksdf
sdfsdkfs
sdfsldf
sdfjsl'
se
ekhfe
efkhesh

[root@master ~]# awk '1;{print ""}' test.txt 
dsjkfh

fsdfhsd

sdfjs

sdkfhherg

dfghksdhg

sdfksdh

sfhshef



afjnshdf

fkhsekf

sefhke

efnkehuf

sfneskfhes'f



dflsdfkhs

sefjef

sdhfrkhg

erkthwe

rkshfkser

ekrhse

flehise

ege

etc

sdfksdf

sdfsdkfs

sdfsldf

sdfjsl'

se

ekhfe

efkhesh






3、在匹配regex的行之後插入一空行?
sed '/regex/a\\' test.txt





'/regex/': 這是一個模式匹配部分。它告訴 sed 查詢所有匹配 regex 的行。這裡的 regex 應該被替換為具體的正規表示式。
a\\: 在這裡,a 表示“追加”,而 \\ 表示命令的結束。因為 sed 命令通常跨越多行,所以使用 \ 來表示命令的延續,而 \\ 是因為在 shell 中 \ 本身是一個跳脫字元,所以需要用兩個反斜槓來表示一個。




實際效果演示
[root@master ~]# sed '/regex/a\\' test.txt 
dsjkfh
fsdfhsd
sdfjs
sdkfhherg
dfghksdhg
sdfksdh
sfhshef

afjnshdf
fkhsekf
sefhke
efnkehuf
sfneskfhes'f
regex

sdfhj


sdfhjsd
sdkhfs
regex

sdjhfs

dshkfs
regex

sdkhfas
sdfkhas
sdkhfas
jnsd
fas
nk
sdfklhas'
regex

sdfgsd
redslfs
sds'
:`
dflsdfkhs
sefjef
sdhfrkhg
erkthwe
rkshfkser
ekrhse
flehise
ege
etc
sdfksdf
sdfsdkfs
sdfsldf
sdfjsl'
se
ekhfe
efkhesh



4、計算檔案行數?
wc -l test.txt
grep -c '^' test.txt
awk 'END {print NR}' test.txt


awk 讀取 test.txt 檔案的每一行,並在內部維護一個變數 NR,該變數記錄了當前已經讀取的行數。當 awk 讀取完檔案的最後一行時,它會執行 END 塊中的命令,即 print NR。這會列印出 NR 的值,也就是檔案的總行數





實際效果演示

[root@master ~]# grep -c '^' test.txt 
57
[root@master ~]# wc -l test.txt 
57 test.txt
[root@master ~]# awk 'END {print NR}' test.txt
57

5、sed將檔案test中第50行中的haiwao改為haiwai?
sed -i '50s/haiwao/haiwai/' test.txt








實際效果演示
[root@master ~]# cat test.txt
haiwao
dsjkfh
fsdfhsd
sdfjs
sdkfhherg
dfghksdhg
sdfksdh
sfhshef

afjnshdf
fkhsekf
sefhke
efnkehuf
sfneskfhes'f
regex

[root@master ~]# sed -i '1s/haiwao/haiwai/' test.txt
[root@master ~]# cat test.txt
haiwai
dsjkfh
fsdfhsd
sdfjs
sdkfhherg
dfghksdhg
sdfksdh
sfhshef


6 列印/etc/passwd的奇數行?

awk 'NR%2 == 1' /etc/passwd
sed -n '1~2p' /etc/passwd

















awk 'NR%2 == 1' /etc/passwd

NR%2 == 1 是一個條件判斷,表示當行號 NR 除以 2 的餘數為 1 時執行後面的動作(即列印當前行)


sed -n '1~2p' /etc/passwd

-n 選項告訴 sed 不要自動列印模式空間的內容。
1~2p 是一個地址範圍,表示從第一行開始,每隔兩行列印一行(即列印奇數行)。~ 符號在 sed 中用於指定步長












實際效果演示

[root@master ~]# awk 'NR%2 == 1' /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:2:2:daemon:/sbin:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
it1:x:1002:1002::/home/it1:/bin/bash
it3:x:1004:1004::/home/it3:/bin/bash
it5:x:1006:1006::/home/it5:/bin/bash
it7:x:1008:1008::/home/it7:/bin/bash
it9:x:1010:1010::/home/it9:/bin/bash
it11:x:1012:1012::/home/it11:/bin/bash
it13:x:1014:1014::/home/it13:/bin/bash
it15:x:1016:1016::/home/it15:/bin/bash
it17:x:1018:1018::/home/it17:/bin/bash
it19:x:1020:1020::/home/it19:/bin/bash
it21:x:1022:1022::/home/it21:/bin/bash
it23:x:1024:1024::/home/it23:/bin/bash
it25:x:1026:1026::/home/it25:/bin/bash
it27:x:1028:1028::/home/it27:/bin/bash
it29:x:1030:1030::/home/it29:/bin/bash
it31:x:1032:1032::/home/it31:/bin/bash
it33:x:1034:1034::/home/it33:/bin/bash
it35:x:1036:1036::/home/it35:/bin/bash
it37:x:1038:1038::/home/it37:/bin/bash
it39:x:1040:1040::/home/it39:/bin/bash
it41:x:1042:1042::/home/it41:/bin/bash
it43:x:1044:1044::/home/it43:/bin/bash
it45:x:1046:1046::/home/it45:/bin/bash
it47:x:1048:1048::/home/it47:/bin/bash
it49:x:1050:1050::/home/it49:/bin/bash
it51:x:1052:1052::/home/it51:/bin/bash
it53:x:1054:1054::/home/it53:/bin/bash
it55:x:1056:1056::/home/it55:/bin/bash
it57:x:1058:1058::/home/it57:/bin/bash
it59:x:1060:1060::/home/it59:/bin/bash
it61:x:1062:1062::/home/it61:/bin/bash
it63:x:1064:1064::/home/it63:/bin/bash
it65:x:1066:1066::/home/it65:/bin/bash
it67:x:1068:1068::/home/it67:/bin/bash
it69:x:1070:1070::/home/it69:/bin/bash
it71:x:1072:1072::/home/it71:/bin/bash
it73:x:1074:1074::/home/it73:/bin/bash
it75:x:1076:1076::/home/it75:/bin/bash
it77:x:1078:1078::/home/it77:/bin/bash
it79:x:1080:1080::/home/it79:/bin/bash
it81:x:1082:1082::/home/it81:/bin/bash
it83:x:1084:1084::/home/it83:/bin/bash
it85:x:1086:1086::/home/it85:/bin/bash
it87:x:1088:1088::/home/it87:/bin/bash
it89:x:1090:1090::/home/it89:/bin/bash
it91:x:1092:1092::/home/it91:/bin/bash
it93:x:1094:1094::/home/it93:/bin/bash
it95:x:1096:1096::/home/it95:/bin/bash
it97:x:1098:1098::/home/it97:/bin/bash
it99:x:1100:1100::/home/it99:/bin/bash
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
[root@master ~]# sed -n '1~2p' /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:2:2:daemon:/sbin:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
it1:x:1002:1002::/home/it1:/bin/bash
it3:x:1004:1004::/home/it3:/bin/bash
it5:x:1006:1006::/home/it5:/bin/bash
it7:x:1008:1008::/home/it7:/bin/bash
it9:x:1010:1010::/home/it9:/bin/bash
it11:x:1012:1012::/home/it11:/bin/bash
it13:x:1014:1014::/home/it13:/bin/bash
it15:x:1016:1016::/home/it15:/bin/bash
it17:x:1018:1018::/home/it17:/bin/bash
it19:x:1020:1020::/home/it19:/bin/bash
it21:x:1022:1022::/home/it21:/bin/bash
it23:x:1024:1024::/home/it23:/bin/bash
it25:x:1026:1026::/home/it25:/bin/bash
it27:x:1028:1028::/home/it27:/bin/bash
it29:x:1030:1030::/home/it29:/bin/bash
it31:x:1032:1032::/home/it31:/bin/bash
it33:x:1034:1034::/home/it33:/bin/bash
it35:x:1036:1036::/home/it35:/bin/bash
it37:x:1038:1038::/home/it37:/bin/bash
it39:x:1040:1040::/home/it39:/bin/bash
it41:x:1042:1042::/home/it41:/bin/bash
it43:x:1044:1044::/home/it43:/bin/bash
it45:x:1046:1046::/home/it45:/bin/bash
it47:x:1048:1048::/home/it47:/bin/bash
it49:x:1050:1050::/home/it49:/bin/bash
it51:x:1052:1052::/home/it51:/bin/bash
it53:x:1054:1054::/home/it53:/bin/bash
it55:x:1056:1056::/home/it55:/bin/bash
it57:x:1058:1058::/home/it57:/bin/bash
it59:x:1060:1060::/home/it59:/bin/bash
it61:x:1062:1062::/home/it61:/bin/bash
it63:x:1064:1064::/home/it63:/bin/bash
it65:x:1066:1066::/home/it65:/bin/bash
it67:x:1068:1068::/home/it67:/bin/bash
it69:x:1070:1070::/home/it69:/bin/bash
it71:x:1072:1072::/home/it71:/bin/bash
it73:x:1074:1074::/home/it73:/bin/bash
it75:x:1076:1076::/home/it75:/bin/bash
it77:x:1078:1078::/home/it77:/bin/bash
it79:x:1080:1080::/home/it79:/bin/bash
it81:x:1082:1082::/home/it81:/bin/bash
it83:x:1084:1084::/home/it83:/bin/bash
it85:x:1086:1086::/home/it85:/bin/bash
it87:x:1088:1088::/home/it87:/bin/bash
it89:x:1090:1090::/home/it89:/bin/bash
it91:x:1092:1092::/home/it91:/bin/bash
it93:x:1094:1094::/home/it93:/bin/bash
it95:x:1096:1096::/home/it95:/bin/bash
it97:x:1098:1098::/home/it97:/bin/bash
it99:x:1100:1100::/home/it99:/bin/bash
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin




7. 取出ifconfIg ens33命令中本機的IPv4地址
ifconfig ens33 |grep -oE 'inet (addr:)?([0-9\.]+)' |grep -Eo '([0-9\.]+)'
ip addr show ens33 | grep -oP '(inet \d+(\.\d+){3})'








ifconfig ens33 |grep -oE 'inet (addr:)?([0-9\.]+)' |grep -Eo '([0-9\.]+)'
grep -oE 'inet (addr:)?([0-9\.]+)': 這個命令使用擴充套件的正規表示式(由-E指定)來搜尋ifconfig的輸出,並只輸出匹配的部分。這裡的正規表示式匹配以inet開始,後面可能跟著addr:,然後是IP地址(由數字和點組成)。
grep -Eo '([0-9\.]+)': 這個命令再次使用擴充套件的正規表示式來從上一個grep命令的輸出中提取IP地址。它只匹配由數字和點組成的字串

ip addr show ens33 | grep -oP '(inet \d+(\.\d+){3})'
grep -oP '(inet \d+(\.\d+){3})': 這個命令使用Perl相容的正規表示式(由-P指定)來搜尋ip addr show的輸出,並只輸出匹配的部分。這裡的正規表示式匹配以inet開始,後面跟著IP地址(由數字和點組成




實際效果演示

[root@master ~]# ifconfig
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.1.134  netmask 255.255.255.0  broadcast 10.0.1.255
        inet6 fe80::20c:29ff:fe4c:2586  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:4c:25:86  txqueuelen 1000  (Ethernet)
        RX packets 109465  bytes 13573922 (12.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 230284  bytes 46286278 (44.1 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 8  bytes 528 (528.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8  bytes 528 (528.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@master ~]# ifconfig eno^C
[root@master ~]# ifconfig eno16777736 |grep -oE 'inet (addr:)?([0-9\.]+)' |grep -Eo '([0-9\.]+)'
10.0.1.134
[root@master ~]# ip addr show eno16777736 |grep -oP '(inet \d+(\.\d+){3})'
inet 10.0.1.134


8.把/etc/httpd/conf/httpd.conf?件內的Linsten 80改為Listen 8081
sed -i 's/Listen 80/Listen 8081/g' /etc/httpd/conf/httpd.conf








實際效果演示


[root@master ~]# cat /etc/httpd/conf/
httpd.conf  magic       
[root@master ~]# cat /etc/httpd/conf/httpd.conf 
#
# This is the main Apache HTTP server configuration file.  It contains the
# configuration directives that give the server its instructions.
# See <URL:http://httpd.apache.org/docs/2.4/> for detailed information.
# In particular, see 
# <URL:http://httpd.apache.org/docs/2.4/mod/directives.html>
# for a discussion of each configuration directive.
#
# Do NOT simply read the instructions in here without understanding
# what they do.  They're here only as hints or reminders.  If you are unsure
# consult the online docs. You have been warned.  
#
# Configuration and logfile names: If the filenames you specify for many
# of the server's control files begin with "/" (or "drive:/" for Win32), the
# server will use that explicit path.  If the filenames do *not* begin
# with "/", the value of ServerRoot is prepended -- so 'log/access_log'
# with ServerRoot set to '/www' will be interpreted by the
# server as '/www/log/access_log', where as '/log/access_log' will be
# interpreted as '/log/access_log'.

#
# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
#
# Do not add a slash at the end of the directory path.  If you point
# ServerRoot at a non-local disk, be sure to specify a local disk on the
# Mutex directive, if file-based mutexes are used.  If you wish to share the
# same ServerRoot for multiple httpd daemons, you will need to change at
# least PidFile.
#
ServerRoot "/etc/httpd"

#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to 
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 80

#
# Dynamic Shared Object (DSO) Support
#
# To be able to use the functionality of a module which was built as a DSO you
# have to place corresponding `LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
# Statically compiled modules (those listed by `httpd -l') do not need
# to be loaded here.
#
# Example:
# LoadModule foo_module modules/mod_foo.so
#
Include conf.modules.d/*.conf

#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.  
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
User apache
Group apache

# 'Main' server configuration
#
# The directives in this section set up the values used by the 'main'
# server, which responds to any requests that aren't handled by a
# <VirtualHost> definition.  These values also provide defaults for
# any <VirtualHost> containers you may define later in the file.
#
# All of these directives may appear inside <VirtualHost> containers,
# in which case these default settings will be overridden for the
# virtual host being defined.
#

#
# ServerAdmin: Your address, where problems with the server should be
# e-mailed.  This address appears on some server-generated pages, such
# as error documents.  e.g. admin@your-domain.com
#
ServerAdmin root@localhost

#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
#ServerName www.example.com:80

#
# Deny access to the entirety of your server's filesystem. You must
# explicitly permit access to web content directories in other 
# <Directory> blocks below.
#
<Directory />
    AllowOverride none
    Require all denied
</Directory>

#
# Note that from this point forward you must specifically allow
# particular features to be enabled - so if something's not working as
# you might expect, make sure that you have specifically enabled it
# below.
#

#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/var/www/html"

#
# Relax access to content within /var/www.
#
<Directory "/var/www">
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>

# Further relax access to the default document root:
<Directory "/var/www/html">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride None

    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>

#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

#
# The following lines prevent .htaccess and .htpasswd files from being 
# viewed by Web clients. 
#
<Files ".ht*">
    Require all denied
</Files>

#
# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
# container, error messages relating to that virtual host will be
# logged here.  If you *do* define an error logfile for a <VirtualHost>
# container, that host's errors will be logged there and not here.
#
ErrorLog "logs/error_log"

#
# LogLevel: Control the number of messages logged to the error_log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
#
LogLevel warn

<IfModule log_config_module>
    #
    # The following directives define some format nicknames for use with
    # a CustomLog directive (see below).
    #
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common

    <IfModule logio_module>
      # You need to enable mod_logio.c to use %I and %O
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>

    #
    # The location and format of the access logfile (Common Logfile Format).
    # If you do not define any access logfiles within a <VirtualHost>
    # container, they will be logged here.  Contrariwise, if you *do*
    # define per-<VirtualHost> access logfiles, transactions will be
    # logged therein and *not* in this file.
    #
    #CustomLog "logs/access_log" common

    #
    # If you prefer a logfile with access, agent, and referer information
    # (Combined Logfile Format) you can use the following directive.
    #
    CustomLog "logs/access_log" combined
</IfModule>

<IfModule alias_module>
    #
    # Redirect: Allows you to tell clients about documents that used to 
    # exist in your server's namespace, but do not anymore. The client 
    # will make a new request for the document at its new location.
    # Example:
    # Redirect permanent /foo http://www.example.com/bar

    #
    # Alias: Maps web paths into filesystem paths and is used to
    # access content that does not live under the DocumentRoot.
    # Example:
    # Alias /webpath /full/filesystem/path
    #
    # If you include a trailing / on /webpath then the server will
    # require it to be present in the URL.  You will also likely
    # need to provide a <Directory> section to allow access to
    # the filesystem path.

    #
    # ScriptAlias: This controls which directories contain server scripts. 
    # ScriptAliases are essentially the same as Aliases, except that
    # documents in the target directory are treated as applications and
    # run by the server when requested rather than as documents sent to the
    # client.  The same rules about trailing "/" apply to ScriptAlias
    # directives as to Alias.
    #
    ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

</IfModule>

#
# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>

<IfModule mime_module>
    #
    # TypesConfig points to the file containing the list of mappings from
    # filename extension to MIME-type.
    #
    TypesConfig /etc/mime.types

    #
    # AddType allows you to add to or override the MIME configuration
    # file specified in TypesConfig for specific file types.
    #
    #AddType application/x-gzip .tgz
    #
    # AddEncoding allows you to have certain browsers uncompress
    # information on the fly. Note: Not all browsers support this.
    #
    #AddEncoding x-compress .Z
    #AddEncoding x-gzip .gz .tgz
    #
    # If the AddEncoding directives above are commented-out, then you
    # probably should define those extensions to indicate media types:
    #
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz

    #
    # AddHandler allows you to map certain file extensions to "handlers":
    # actions unrelated to filetype. These can be either built into the server
    # or added with the Action directive (see below)
    #
    # To use CGI scripts outside of ScriptAliased directories:
    # (You will also need to add "ExecCGI" to the "Options" directive.)
    #
    #AddHandler cgi-script .cgi

    # For type maps (negotiated resources):
    #AddHandler type-map var

    #
    # Filters allow you to process content before it is sent to the client.
    #
    # To parse .shtml files for server-side includes (SSI):
    # (You will also need to add "Includes" to the "Options" directive.)
    #
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
</IfModule>

#
# Specify a default charset for all content served; this enables
# interpretation of all content as UTF-8 by default.  To use the 
# default browser choice (ISO-8859-1), or to allow the META tags
# in HTML content to override this choice, comment out this
# directive:
#
AddDefaultCharset UTF-8

<IfModule mime_magic_module>
    #
    # The mod_mime_magic module allows the server to use various hints from the
    # contents of the file itself to determine its type.  The MIMEMagicFile
    # directive tells the module where the hint definitions are located.
    #
    MIMEMagicFile conf/magic
</IfModule>

#
# Customizable error responses come in three flavors:
# 1) plain text 2) local redirects 3) external redirects
#
# Some examples:
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
#

#
# EnableMMAP and EnableSendfile: On systems that support it, 
# memory-mapping or the sendfile syscall may be used to deliver
# files.  This usually improves server performance, but must
# be turned off when serving from networked-mounted 
# filesystems or if support for these functions is otherwise
# broken on your system.
# Defaults if commented: EnableMMAP On, EnableSendfile Off
#
#EnableMMAP off
EnableSendfile on

# Supplemental configuration
#
# Load config files in the "/etc/httpd/conf.d" directory, if any.
IncludeOptional conf.d/*.conf
[root@master ~]# sed -i 's/Listen 80/Listen 8081/g' /etc/httpd/conf/httpd.conf 
[root@master ~]# cat /etc/httpd/conf/httpd.conf 
#
# This is the main Apache HTTP server configuration file.  It contains the
# configuration directives that give the server its instructions.
# See <URL:http://httpd.apache.org/docs/2.4/> for detailed information.
# In particular, see 
# <URL:http://httpd.apache.org/docs/2.4/mod/directives.html>
# for a discussion of each configuration directive.
#
# Do NOT simply read the instructions in here without understanding
# what they do.  They're here only as hints or reminders.  If you are unsure
# consult the online docs. You have been warned.  
#
# Configuration and logfile names: If the filenames you specify for many
# of the server's control files begin with "/" (or "drive:/" for Win32), the
# server will use that explicit path.  If the filenames do *not* begin
# with "/", the value of ServerRoot is prepended -- so 'log/access_log'
# with ServerRoot set to '/www' will be interpreted by the
# server as '/www/log/access_log', where as '/log/access_log' will be
# interpreted as '/log/access_log'.

#
# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
#
# Do not add a slash at the end of the directory path.  If you point
# ServerRoot at a non-local disk, be sure to specify a local disk on the
# Mutex directive, if file-based mutexes are used.  If you wish to share the
# same ServerRoot for multiple httpd daemons, you will need to change at
# least PidFile.
#
ServerRoot "/etc/httpd"

#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to 
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 8081

#
# Dynamic Shared Object (DSO) Support
#
# To be able to use the functionality of a module which was built as a DSO you
# have to place corresponding `LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
# Statically compiled modules (those listed by `httpd -l') do not need
# to be loaded here.
#
# Example:
# LoadModule foo_module modules/mod_foo.so
#
Include conf.modules.d/*.conf

#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.  
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
User apache
Group apache

# 'Main' server configuration
#
# The directives in this section set up the values used by the 'main'
# server, which responds to any requests that aren't handled by a
# <VirtualHost> definition.  These values also provide defaults for
# any <VirtualHost> containers you may define later in the file.
#
# All of these directives may appear inside <VirtualHost> containers,
# in which case these default settings will be overridden for the
# virtual host being defined.
#

#
# ServerAdmin: Your address, where problems with the server should be
# e-mailed.  This address appears on some server-generated pages, such
# as error documents.  e.g. admin@your-domain.com
#
ServerAdmin root@localhost

#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
#ServerName www.example.com:80

#
# Deny access to the entirety of your server's filesystem. You must
# explicitly permit access to web content directories in other 
# <Directory> blocks below.
#
<Directory />
    AllowOverride none
    Require all denied
</Directory>

#
# Note that from this point forward you must specifically allow
# particular features to be enabled - so if something's not working as
# you might expect, make sure that you have specifically enabled it
# below.
#

#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/var/www/html"

#
# Relax access to content within /var/www.
#
<Directory "/var/www">
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>

# Further relax access to the default document root:
<Directory "/var/www/html">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride None

    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>

#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

#
# The following lines prevent .htaccess and .htpasswd files from being 
# viewed by Web clients. 
#
<Files ".ht*">
    Require all denied
</Files>

#
# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
# container, error messages relating to that virtual host will be
# logged here.  If you *do* define an error logfile for a <VirtualHost>
# container, that host's errors will be logged there and not here.
#
ErrorLog "logs/error_log"

#
# LogLevel: Control the number of messages logged to the error_log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
#
LogLevel warn

<IfModule log_config_module>
    #
    # The following directives define some format nicknames for use with
    # a CustomLog directive (see below).
    #
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common

    <IfModule logio_module>
      # You need to enable mod_logio.c to use %I and %O
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>

    #
    # The location and format of the access logfile (Common Logfile Format).
    # If you do not define any access logfiles within a <VirtualHost>
    # container, they will be logged here.  Contrariwise, if you *do*
    # define per-<VirtualHost> access logfiles, transactions will be
    # logged therein and *not* in this file.
    #
    #CustomLog "logs/access_log" common

    #
    # If you prefer a logfile with access, agent, and referer information
    # (Combined Logfile Format) you can use the following directive.
    #
    CustomLog "logs/access_log" combined
</IfModule>

<IfModule alias_module>
    #
    # Redirect: Allows you to tell clients about documents that used to 
    # exist in your server's namespace, but do not anymore. The client 
    # will make a new request for the document at its new location.
    # Example:
    # Redirect permanent /foo http://www.example.com/bar

    #
    # Alias: Maps web paths into filesystem paths and is used to
    # access content that does not live under the DocumentRoot.
    # Example:
    # Alias /webpath /full/filesystem/path
    #
    # If you include a trailing / on /webpath then the server will
    # require it to be present in the URL.  You will also likely
    # need to provide a <Directory> section to allow access to
    # the filesystem path.

    #
    # ScriptAlias: This controls which directories contain server scripts. 
    # ScriptAliases are essentially the same as Aliases, except that
    # documents in the target directory are treated as applications and
    # run by the server when requested rather than as documents sent to the
    # client.  The same rules about trailing "/" apply to ScriptAlias
    # directives as to Alias.
    #
    ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

</IfModule>

#
# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>

<IfModule mime_module>
    #
    # TypesConfig points to the file containing the list of mappings from
    # filename extension to MIME-type.
    #
    TypesConfig /etc/mime.types

    #
    # AddType allows you to add to or override the MIME configuration
    # file specified in TypesConfig for specific file types.
    #
    #AddType application/x-gzip .tgz
    #
    # AddEncoding allows you to have certain browsers uncompress
    # information on the fly. Note: Not all browsers support this.
    #
    #AddEncoding x-compress .Z
    #AddEncoding x-gzip .gz .tgz
    #
    # If the AddEncoding directives above are commented-out, then you
    # probably should define those extensions to indicate media types:
    #
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz

    #
    # AddHandler allows you to map certain file extensions to "handlers":
    # actions unrelated to filetype. These can be either built into the server
    # or added with the Action directive (see below)
    #
    # To use CGI scripts outside of ScriptAliased directories:
    # (You will also need to add "ExecCGI" to the "Options" directive.)
    #
    #AddHandler cgi-script .cgi

    # For type maps (negotiated resources):
    #AddHandler type-map var

    #
    # Filters allow you to process content before it is sent to the client.
    #
    # To parse .shtml files for server-side includes (SSI):
    # (You will also need to add "Includes" to the "Options" directive.)
    #
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
</IfModule>

#
# Specify a default charset for all content served; this enables
# interpretation of all content as UTF-8 by default.  To use the 
# default browser choice (ISO-8859-1), or to allow the META tags
# in HTML content to override this choice, comment out this
# directive:
#
AddDefaultCharset UTF-8

<IfModule mime_magic_module>
    #
    # The mod_mime_magic module allows the server to use various hints from the
    # contents of the file itself to determine its type.  The MIMEMagicFile
    # directive tells the module where the hint definitions are located.
    #
    MIMEMagicFile conf/magic
</IfModule>

#
# Customizable error responses come in three flavors:
# 1) plain text 2) local redirects 3) external redirects
#
# Some examples:
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
#

#
# EnableMMAP and EnableSendfile: On systems that support it, 
# memory-mapping or the sendfile syscall may be used to deliver
# files.  This usually improves server performance, but must
# be turned off when serving from networked-mounted 
# filesystems or if support for these functions is otherwise
# broken on your system.
# Defaults if commented: EnableMMAP On, EnableSendfile Off
#
#EnableMMAP off
EnableSendfile on

# Supplemental configuration
#
# Load config files in the "/etc/httpd/conf.d" directory, if any.
IncludeOptional conf.d/*.conf

9.passwd檔案每行內容前都編序號顯示

seq 1 $(wc -l < /etc/passwd) | paste - /etc/passwd
awk 'BEGIN{cnt=1}{print cnt++"\t"$0}' /etc/passwd







seq 1 $(wc -l < /etc/passwd) | paste - /etc/passwd
wc -l < /etc/passwd:wc 命令用於統計檔案中的行數、字數和位元組數。-l 選項告訴 wc 只統計行數。< /etc/passwd 是一個輸入重定向,將 /etc/passwd 檔案的內容作為 wc 命令的輸入。所以,這個子命令會輸出 /etc/passwd 檔案的總行數。

seq 1 $(wc -l < /etc/passwd):seq 命令用於生成一個數字序列。這裡,它從1開始,到 /etc/passwd 檔案的總行數結束。例如,如果 /etc/passwd 有10行,那麼 seq 會輸出 1 2 3 ... 10。

paste - /etc/passwd:paste 命令用於將多個檔案的內容並列輸出。這裡,- 表示從標準輸入(stdin)讀取內容。所以,paste 會將 seq 命令生成的數字序列和 /etc/passwd 檔案的內容並列輸出




awk 'BEGIN{cnt=1}{print cnt++"\t"$0}' /etc/passwd

BEGIN{cnt=1}:在 awk 開始處理檔案之前,這個 BEGIN 塊會被執行。這裡,它初始化一個變數 cnt 為1,這個變數用來計數行號。

{print cnt++"\t"$0}:對於 /etc/passwd 檔案中的每一行,這個塊都會被執行。$0 表示當前行的內容。cnt++ 會先返回 cnt 的當前值(並列印它),然後將 cnt 的值增加1。\t 是一個製表符,用來在行號和行內容之間新增一些間隔。







實際效果演示
[root@master ~]# seq 1 $(wc -l < /etc/passwd) |paste - /etc/passwd
1	root:x:0:0:root:/root:/bin/bash
2	bin:x:1:1:bin:/bin:/sbin/nologin
3	daemon:x:2:2:daemon:/sbin:/sbin/nologin
4	adm:x:3:4:adm:/var/adm:/sbin/nologin
5	lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6	sync:x:5:0:sync:/sbin:/bin/sync
7	shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8	halt:x:7:0:halt:/sbin:/sbin/halt
9	mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10	operator:x:11:0:operator:/root:/sbin/nologin
11	games:x:12:100:games:/usr/games:/sbin/nologin
12	ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
13	nobody:x:99:99:Nobody:/:/sbin/nologin
14	avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
15	dbus:x:81:81:System message bus:/:/sbin/nologin
16	polkitd:x:999:998:User for polkitd:/:/sbin/nologin
17	tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
18	postfix:x:89:89::/var/spool/postfix:/sbin/nologin
19	sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
20	wang:x:1000:1000:wang:/home/wang:/bin/bash
21	systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
22	it101:x:1001:1001::/home/it101:/bin/bash
23	it1:x:1002:1002::/home/it1:/bin/bash
24	it2:x:1003:1003::/home/it2:/bin/bash
25	it3:x:1004:1004::/home/it3:/bin/bash
26	it4:x:1005:1005::/home/it4:/bin/bash
27	it5:x:1006:1006::/home/it5:/bin/bash
28	it6:x:1007:1007::/home/it6:/bin/bash
29	it7:x:1008:1008::/home/it7:/bin/bash
30	it8:x:1009:1009::/home/it8:/bin/bash
31	it9:x:1010:1010::/home/it9:/bin/bash
32	it10:x:1011:1011::/home/it10:/bin/bash
33	it11:x:1012:1012::/home/it11:/bin/bash
34	it12:x:1013:1013::/home/it12:/bin/bash
35	it13:x:1014:1014::/home/it13:/bin/bash
36	it14:x:1015:1015::/home/it14:/bin/bash
37	it15:x:1016:1016::/home/it15:/bin/bash
38	it16:x:1017:1017::/home/it16:/bin/bash
39	it17:x:1018:1018::/home/it17:/bin/bash
40	it18:x:1019:1019::/home/it18:/bin/bash
41	it19:x:1020:1020::/home/it19:/bin/bash
42	it20:x:1021:1021::/home/it20:/bin/bash
43	it21:x:1022:1022::/home/it21:/bin/bash
44	it22:x:1023:1023::/home/it22:/bin/bash
45	it23:x:1024:1024::/home/it23:/bin/bash
46	it24:x:1025:1025::/home/it24:/bin/bash
47	it25:x:1026:1026::/home/it25:/bin/bash
48	it26:x:1027:1027::/home/it26:/bin/bash
49	it27:x:1028:1028::/home/it27:/bin/bash
50	it28:x:1029:1029::/home/it28:/bin/bash
51	it29:x:1030:1030::/home/it29:/bin/bash
52	it30:x:1031:1031::/home/it30:/bin/bash
53	it31:x:1032:1032::/home/it31:/bin/bash
54	it32:x:1033:1033::/home/it32:/bin/bash
55	it33:x:1034:1034::/home/it33:/bin/bash
56	it34:x:1035:1035::/home/it34:/bin/bash
57	it35:x:1036:1036::/home/it35:/bin/bash
58	it36:x:1037:1037::/home/it36:/bin/bash
59	it37:x:1038:1038::/home/it37:/bin/bash
60	it38:x:1039:1039::/home/it38:/bin/bash
61	it39:x:1040:1040::/home/it39:/bin/bash
62	it40:x:1041:1041::/home/it40:/bin/bash
63	it41:x:1042:1042::/home/it41:/bin/bash
64	it42:x:1043:1043::/home/it42:/bin/bash
65	it43:x:1044:1044::/home/it43:/bin/bash
66	it44:x:1045:1045::/home/it44:/bin/bash
67	it45:x:1046:1046::/home/it45:/bin/bash
68	it46:x:1047:1047::/home/it46:/bin/bash
69	it47:x:1048:1048::/home/it47:/bin/bash
70	it48:x:1049:1049::/home/it48:/bin/bash
71	it49:x:1050:1050::/home/it49:/bin/bash
72	it50:x:1051:1051::/home/it50:/bin/bash
73	it51:x:1052:1052::/home/it51:/bin/bash
74	it52:x:1053:1053::/home/it52:/bin/bash
75	it53:x:1054:1054::/home/it53:/bin/bash
76	it54:x:1055:1055::/home/it54:/bin/bash
77	it55:x:1056:1056::/home/it55:/bin/bash
78	it56:x:1057:1057::/home/it56:/bin/bash
79	it57:x:1058:1058::/home/it57:/bin/bash
80	it58:x:1059:1059::/home/it58:/bin/bash
81	it59:x:1060:1060::/home/it59:/bin/bash
82	it60:x:1061:1061::/home/it60:/bin/bash
83	it61:x:1062:1062::/home/it61:/bin/bash
84	it62:x:1063:1063::/home/it62:/bin/bash
85	it63:x:1064:1064::/home/it63:/bin/bash
86	it64:x:1065:1065::/home/it64:/bin/bash
87	it65:x:1066:1066::/home/it65:/bin/bash
88	it66:x:1067:1067::/home/it66:/bin/bash
89	it67:x:1068:1068::/home/it67:/bin/bash
90	it68:x:1069:1069::/home/it68:/bin/bash
91	it69:x:1070:1070::/home/it69:/bin/bash
92	it70:x:1071:1071::/home/it70:/bin/bash
93	it71:x:1072:1072::/home/it71:/bin/bash
94	it72:x:1073:1073::/home/it72:/bin/bash
95	it73:x:1074:1074::/home/it73:/bin/bash
96	it74:x:1075:1075::/home/it74:/bin/bash
97	it75:x:1076:1076::/home/it75:/bin/bash
98	it76:x:1077:1077::/home/it76:/bin/bash
99	it77:x:1078:1078::/home/it77:/bin/bash
100	it78:x:1079:1079::/home/it78:/bin/bash
101	it79:x:1080:1080::/home/it79:/bin/bash
102	it80:x:1081:1081::/home/it80:/bin/bash
103	it81:x:1082:1082::/home/it81:/bin/bash
104	it82:x:1083:1083::/home/it82:/bin/bash
105	it83:x:1084:1084::/home/it83:/bin/bash
106	it84:x:1085:1085::/home/it84:/bin/bash
107	it85:x:1086:1086::/home/it85:/bin/bash
108	it86:x:1087:1087::/home/it86:/bin/bash
109	it87:x:1088:1088::/home/it87:/bin/bash
110	it88:x:1089:1089::/home/it88:/bin/bash
111	it89:x:1090:1090::/home/it89:/bin/bash
112	it90:x:1091:1091::/home/it90:/bin/bash
113	it91:x:1092:1092::/home/it91:/bin/bash
114	it92:x:1093:1093::/home/it92:/bin/bash
115	it93:x:1094:1094::/home/it93:/bin/bash
116	it94:x:1095:1095::/home/it94:/bin/bash
117	it95:x:1096:1096::/home/it95:/bin/bash
118	it96:x:1097:1097::/home/it96:/bin/bash
119	it97:x:1098:1098::/home/it97:/bin/bash
120	it98:x:1099:1099::/home/it98:/bin/bash
121	it99:x:1100:1100::/home/it99:/bin/bash
122	it100:x:1101:1101::/home/it100:/bin/bash
123	apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
[root@master ~]# awk 'BEGIN{cnt=1}{print cnt++"\t"$0}' /etc/passwd
1	root:x:0:0:root:/root:/bin/bash
2	bin:x:1:1:bin:/bin:/sbin/nologin
3	daemon:x:2:2:daemon:/sbin:/sbin/nologin
4	adm:x:3:4:adm:/var/adm:/sbin/nologin
5	lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6	sync:x:5:0:sync:/sbin:/bin/sync
7	shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8	halt:x:7:0:halt:/sbin:/sbin/halt
9	mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10	operator:x:11:0:operator:/root:/sbin/nologin
11	games:x:12:100:games:/usr/games:/sbin/nologin
12	ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
13	nobody:x:99:99:Nobody:/:/sbin/nologin
14	avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
15	dbus:x:81:81:System message bus:/:/sbin/nologin
16	polkitd:x:999:998:User for polkitd:/:/sbin/nologin
17	tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
18	postfix:x:89:89::/var/spool/postfix:/sbin/nologin
19	sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
20	wang:x:1000:1000:wang:/home/wang:/bin/bash
21	systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
22	it101:x:1001:1001::/home/it101:/bin/bash
23	it1:x:1002:1002::/home/it1:/bin/bash
24	it2:x:1003:1003::/home/it2:/bin/bash
25	it3:x:1004:1004::/home/it3:/bin/bash
26	it4:x:1005:1005::/home/it4:/bin/bash
27	it5:x:1006:1006::/home/it5:/bin/bash
28	it6:x:1007:1007::/home/it6:/bin/bash
29	it7:x:1008:1008::/home/it7:/bin/bash
30	it8:x:1009:1009::/home/it8:/bin/bash
31	it9:x:1010:1010::/home/it9:/bin/bash
32	it10:x:1011:1011::/home/it10:/bin/bash
33	it11:x:1012:1012::/home/it11:/bin/bash
34	it12:x:1013:1013::/home/it12:/bin/bash
35	it13:x:1014:1014::/home/it13:/bin/bash
36	it14:x:1015:1015::/home/it14:/bin/bash
37	it15:x:1016:1016::/home/it15:/bin/bash
38	it16:x:1017:1017::/home/it16:/bin/bash
39	it17:x:1018:1018::/home/it17:/bin/bash
40	it18:x:1019:1019::/home/it18:/bin/bash
41	it19:x:1020:1020::/home/it19:/bin/bash
42	it20:x:1021:1021::/home/it20:/bin/bash
43	it21:x:1022:1022::/home/it21:/bin/bash
44	it22:x:1023:1023::/home/it22:/bin/bash
45	it23:x:1024:1024::/home/it23:/bin/bash
46	it24:x:1025:1025::/home/it24:/bin/bash
47	it25:x:1026:1026::/home/it25:/bin/bash
48	it26:x:1027:1027::/home/it26:/bin/bash
49	it27:x:1028:1028::/home/it27:/bin/bash
50	it28:x:1029:1029::/home/it28:/bin/bash
51	it29:x:1030:1030::/home/it29:/bin/bash
52	it30:x:1031:1031::/home/it30:/bin/bash
53	it31:x:1032:1032::/home/it31:/bin/bash
54	it32:x:1033:1033::/home/it32:/bin/bash
55	it33:x:1034:1034::/home/it33:/bin/bash
56	it34:x:1035:1035::/home/it34:/bin/bash
57	it35:x:1036:1036::/home/it35:/bin/bash
58	it36:x:1037:1037::/home/it36:/bin/bash
59	it37:x:1038:1038::/home/it37:/bin/bash
60	it38:x:1039:1039::/home/it38:/bin/bash
61	it39:x:1040:1040::/home/it39:/bin/bash
62	it40:x:1041:1041::/home/it40:/bin/bash
63	it41:x:1042:1042::/home/it41:/bin/bash
64	it42:x:1043:1043::/home/it42:/bin/bash
65	it43:x:1044:1044::/home/it43:/bin/bash
66	it44:x:1045:1045::/home/it44:/bin/bash
67	it45:x:1046:1046::/home/it45:/bin/bash
68	it46:x:1047:1047::/home/it46:/bin/bash
69	it47:x:1048:1048::/home/it47:/bin/bash
70	it48:x:1049:1049::/home/it48:/bin/bash
71	it49:x:1050:1050::/home/it49:/bin/bash
72	it50:x:1051:1051::/home/it50:/bin/bash
73	it51:x:1052:1052::/home/it51:/bin/bash
74	it52:x:1053:1053::/home/it52:/bin/bash
75	it53:x:1054:1054::/home/it53:/bin/bash
76	it54:x:1055:1055::/home/it54:/bin/bash
77	it55:x:1056:1056::/home/it55:/bin/bash
78	it56:x:1057:1057::/home/it56:/bin/bash
79	it57:x:1058:1058::/home/it57:/bin/bash
80	it58:x:1059:1059::/home/it58:/bin/bash
81	it59:x:1060:1060::/home/it59:/bin/bash
82	it60:x:1061:1061::/home/it60:/bin/bash
83	it61:x:1062:1062::/home/it61:/bin/bash
84	it62:x:1063:1063::/home/it62:/bin/bash
85	it63:x:1064:1064::/home/it63:/bin/bash
86	it64:x:1065:1065::/home/it64:/bin/bash
87	it65:x:1066:1066::/home/it65:/bin/bash
88	it66:x:1067:1067::/home/it66:/bin/bash
89	it67:x:1068:1068::/home/it67:/bin/bash
90	it68:x:1069:1069::/home/it68:/bin/bash
91	it69:x:1070:1070::/home/it69:/bin/bash
92	it70:x:1071:1071::/home/it70:/bin/bash
93	it71:x:1072:1072::/home/it71:/bin/bash
94	it72:x:1073:1073::/home/it72:/bin/bash
95	it73:x:1074:1074::/home/it73:/bin/bash
96	it74:x:1075:1075::/home/it74:/bin/bash
97	it75:x:1076:1076::/home/it75:/bin/bash
98	it76:x:1077:1077::/home/it76:/bin/bash
99	it77:x:1078:1078::/home/it77:/bin/bash
100	it78:x:1079:1079::/home/it78:/bin/bash
101	it79:x:1080:1080::/home/it79:/bin/bash
102	it80:x:1081:1081::/home/it80:/bin/bash
103	it81:x:1082:1082::/home/it81:/bin/bash
104	it82:x:1083:1083::/home/it82:/bin/bash
105	it83:x:1084:1084::/home/it83:/bin/bash
106	it84:x:1085:1085::/home/it84:/bin/bash
107	it85:x:1086:1086::/home/it85:/bin/bash
108	it86:x:1087:1087::/home/it86:/bin/bash
109	it87:x:1088:1088::/home/it87:/bin/bash
110	it88:x:1089:1089::/home/it88:/bin/bash
111	it89:x:1090:1090::/home/it89:/bin/bash
112	it90:x:1091:1091::/home/it90:/bin/bash
113	it91:x:1092:1092::/home/it91:/bin/bash
114	it92:x:1093:1093::/home/it92:/bin/bash
115	it93:x:1094:1094::/home/it93:/bin/bash
116	it94:x:1095:1095::/home/it94:/bin/bash
117	it95:x:1096:1096::/home/it95:/bin/bash
118	it96:x:1097:1097::/home/it96:/bin/bash
119	it97:x:1098:1098::/home/it97:/bin/bash
120	it98:x:1099:1099::/home/it98:/bin/bash
121	it99:x:1100:1100::/home/it99:/bin/bash
122	it100:x:1101:1101::/home/it100:/bin/bash
123	apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin

10.passwd檔案不顯示第2行
sed '2d' /etc/passwd

awk 'NR!=2' /etc/passwd







實際效果演示

[root@master ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
[root@master ~]# sed '2d' /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin

11.把passwd件的第1-3內容,另存為test.txt
head -n 3 /etc/passwd >test.txt

sed -n '1,3p' /etc/passwd > test.txt

awk 'NR<=3' /etc/passwd > test.txt








awk 'NR<=3' /etc/passwd > test.txt
'NR<=3': 這是一個 awk 的模式動作表示式。
NR 是 awk 的內建變數,代表當前處理的記錄號(對於檔案來說,通常就是行號)。
NR<=3 這個條件檢查當前處理的行號是否小於或等於3。
如果這個條件為真(即當前行是檔案的前三行之一),則預設動作(即列印整行)會被執行


實際效果演示

[root@master ~]# head -n 3 /etc/passwd >testn.txt
[root@master ~]# cat testn.txt 
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

[root@master ~]# sed -n '1,2p' /etc/passwd >testw.txt
[root@master ~]# cat testw.txt 
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin

[root@master ~]# awk 'NR<=3' /etc/passwd >testq.txt
[root@master ~]# cat testq.txt 
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin


12.顯示passwd 檔案奇數行顯示
awk 'NR%2 == 1' /etc/passwd
sed -n '1~2p' /etc/passwd


sed -n 'n;n;p' /etc/passwd














awk 'NR%2 == 1' /etc/passwd

NR%2 == 1 是一個條件判斷,表示當行號 NR 除以 2 的餘數為 1 時執行後面的動作(即列印當前行)


sed -n '1~2p' /etc/passwd

-n 選項告訴 sed 不要自動列印模式空間的內容。
1~2p 是一個地址範圍,表示從第一行開始,每隔兩行列印一行(即列印奇數行)。~ 符號在 sed 中用於指定步長


sed -n 'n;n;p' /etc/passwd
n:讀取下一行到模式空間,但不列印。
n:再次讀取下一行到模式空間,還是不列印。
p:列印模式空間的內容。








實際效果演示

[root@master ~]# awk 'NR%2 == 1' /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:2:2:daemon:/sbin:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
it1:x:1002:1002::/home/it1:/bin/bash
it3:x:1004:1004::/home/it3:/bin/bash
it5:x:1006:1006::/home/it5:/bin/bash
it7:x:1008:1008::/home/it7:/bin/bash
it9:x:1010:1010::/home/it9:/bin/bash
it11:x:1012:1012::/home/it11:/bin/bash
it13:x:1014:1014::/home/it13:/bin/bash
it15:x:1016:1016::/home/it15:/bin/bash
it17:x:1018:1018::/home/it17:/bin/bash
it19:x:1020:1020::/home/it19:/bin/bash
it21:x:1022:1022::/home/it21:/bin/bash
it23:x:1024:1024::/home/it23:/bin/bash
it25:x:1026:1026::/home/it25:/bin/bash
it27:x:1028:1028::/home/it27:/bin/bash
it29:x:1030:1030::/home/it29:/bin/bash
it31:x:1032:1032::/home/it31:/bin/bash
it33:x:1034:1034::/home/it33:/bin/bash
it35:x:1036:1036::/home/it35:/bin/bash
it37:x:1038:1038::/home/it37:/bin/bash
it39:x:1040:1040::/home/it39:/bin/bash
it41:x:1042:1042::/home/it41:/bin/bash
it43:x:1044:1044::/home/it43:/bin/bash
it45:x:1046:1046::/home/it45:/bin/bash
it47:x:1048:1048::/home/it47:/bin/bash
it49:x:1050:1050::/home/it49:/bin/bash
it51:x:1052:1052::/home/it51:/bin/bash
it53:x:1054:1054::/home/it53:/bin/bash
it55:x:1056:1056::/home/it55:/bin/bash
it57:x:1058:1058::/home/it57:/bin/bash
it59:x:1060:1060::/home/it59:/bin/bash
it61:x:1062:1062::/home/it61:/bin/bash
it63:x:1064:1064::/home/it63:/bin/bash
it65:x:1066:1066::/home/it65:/bin/bash
it67:x:1068:1068::/home/it67:/bin/bash
it69:x:1070:1070::/home/it69:/bin/bash
it71:x:1072:1072::/home/it71:/bin/bash
it73:x:1074:1074::/home/it73:/bin/bash
it75:x:1076:1076::/home/it75:/bin/bash
it77:x:1078:1078::/home/it77:/bin/bash
it79:x:1080:1080::/home/it79:/bin/bash
it81:x:1082:1082::/home/it81:/bin/bash
it83:x:1084:1084::/home/it83:/bin/bash
it85:x:1086:1086::/home/it85:/bin/bash
it87:x:1088:1088::/home/it87:/bin/bash
it89:x:1090:1090::/home/it89:/bin/bash
it91:x:1092:1092::/home/it91:/bin/bash
it93:x:1094:1094::/home/it93:/bin/bash
it95:x:1096:1096::/home/it95:/bin/bash
it97:x:1098:1098::/home/it97:/bin/bash
it99:x:1100:1100::/home/it99:/bin/bash
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
[root@master ~]# sed -n '1~2p' /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:2:2:daemon:/sbin:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
it1:x:1002:1002::/home/it1:/bin/bash
it3:x:1004:1004::/home/it3:/bin/bash
it5:x:1006:1006::/home/it5:/bin/bash
it7:x:1008:1008::/home/it7:/bin/bash
it9:x:1010:1010::/home/it9:/bin/bash
it11:x:1012:1012::/home/it11:/bin/bash
it13:x:1014:1014::/home/it13:/bin/bash
it15:x:1016:1016::/home/it15:/bin/bash
it17:x:1018:1018::/home/it17:/bin/bash
it19:x:1020:1020::/home/it19:/bin/bash
it21:x:1022:1022::/home/it21:/bin/bash
it23:x:1024:1024::/home/it23:/bin/bash
it25:x:1026:1026::/home/it25:/bin/bash
it27:x:1028:1028::/home/it27:/bin/bash
it29:x:1030:1030::/home/it29:/bin/bash
it31:x:1032:1032::/home/it31:/bin/bash
it33:x:1034:1034::/home/it33:/bin/bash
it35:x:1036:1036::/home/it35:/bin/bash
it37:x:1038:1038::/home/it37:/bin/bash
it39:x:1040:1040::/home/it39:/bin/bash
it41:x:1042:1042::/home/it41:/bin/bash
it43:x:1044:1044::/home/it43:/bin/bash
it45:x:1046:1046::/home/it45:/bin/bash
it47:x:1048:1048::/home/it47:/bin/bash
it49:x:1050:1050::/home/it49:/bin/bash
it51:x:1052:1052::/home/it51:/bin/bash
it53:x:1054:1054::/home/it53:/bin/bash
it55:x:1056:1056::/home/it55:/bin/bash
it57:x:1058:1058::/home/it57:/bin/bash
it59:x:1060:1060::/home/it59:/bin/bash
it61:x:1062:1062::/home/it61:/bin/bash
it63:x:1064:1064::/home/it63:/bin/bash
it65:x:1066:1066::/home/it65:/bin/bash
it67:x:1068:1068::/home/it67:/bin/bash
it69:x:1070:1070::/home/it69:/bin/bash
it71:x:1072:1072::/home/it71:/bin/bash
it73:x:1074:1074::/home/it73:/bin/bash
it75:x:1076:1076::/home/it75:/bin/bash
it77:x:1078:1078::/home/it77:/bin/bash
it79:x:1080:1080::/home/it79:/bin/bash
it81:x:1082:1082::/home/it81:/bin/bash
it83:x:1084:1084::/home/it83:/bin/bash
it85:x:1086:1086::/home/it85:/bin/bash
it87:x:1088:1088::/home/it87:/bin/bash
it89:x:1090:1090::/home/it89:/bin/bash
it91:x:1092:1092::/home/it91:/bin/bash
it93:x:1094:1094::/home/it93:/bin/bash
it95:x:1096:1096::/home/it95:/bin/bash
it97:x:1098:1098::/home/it97:/bin/bash
it99:x:1100:1100::/home/it99:/bin/bash
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin








13.passwd檔案偶數行顯示
awk 'NR%2==0' /etc/passwd

sed -n 'n;p' /etc/passwd








awk 'NR%2==0' /etc/passwd
NR 是行號
NR%2==0 這個條件檢查當前行號 NR 是否是偶數。如果是偶數,則預設動作(即列印整行)會被執行



sed -n 'n;p' /etc/passwd
-n 選項告訴 sed 不要自動列印每一行。
n;p 是一個 sed 指令碼,它包含兩個命令。
n:讀取下一行到模式空間,但不列印。
p:列印當前模式空間的內容(即剛才讀取的下一行)。
這個 sed 命令的邏輯是:對於檔案的每一行,它都會跳過當前行並列印下一行。因此,它會列印出所有的偶數行(第二行、第四行、第六行等)





實際效果演示
[root@master ~]# sed -n 'n;p' /etc/passwd
bin:x:1:1:bin:/bin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
halt:x:7:0:halt:/sbin:/sbin/halt
operator:x:11:0:operator:/root:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
wang:x:1000:1000:wang:/home/wang:/bin/bash
it101:x:1001:1001::/home/it101:/bin/bash
it2:x:1003:1003::/home/it2:/bin/bash
it4:x:1005:1005::/home/it4:/bin/bash
it6:x:1007:1007::/home/it6:/bin/bash
it8:x:1009:1009::/home/it8:/bin/bash
it10:x:1011:1011::/home/it10:/bin/bash
it12:x:1013:1013::/home/it12:/bin/bash
it14:x:1015:1015::/home/it14:/bin/bash
it16:x:1017:1017::/home/it16:/bin/bash
it18:x:1019:1019::/home/it18:/bin/bash
it20:x:1021:1021::/home/it20:/bin/bash
it22:x:1023:1023::/home/it22:/bin/bash
it24:x:1025:1025::/home/it24:/bin/bash
it26:x:1027:1027::/home/it26:/bin/bash
it28:x:1029:1029::/home/it28:/bin/bash
it30:x:1031:1031::/home/it30:/bin/bash
it32:x:1033:1033::/home/it32:/bin/bash
it34:x:1035:1035::/home/it34:/bin/bash
it36:x:1037:1037::/home/it36:/bin/bash
it38:x:1039:1039::/home/it38:/bin/bash
it40:x:1041:1041::/home/it40:/bin/bash
it42:x:1043:1043::/home/it42:/bin/bash
it44:x:1045:1045::/home/it44:/bin/bash
it46:x:1047:1047::/home/it46:/bin/bash
it48:x:1049:1049::/home/it48:/bin/bash
it50:x:1051:1051::/home/it50:/bin/bash
it52:x:1053:1053::/home/it52:/bin/bash
it54:x:1055:1055::/home/it54:/bin/bash
it56:x:1057:1057::/home/it56:/bin/bash
it58:x:1059:1059::/home/it58:/bin/bash
it60:x:1061:1061::/home/it60:/bin/bash
it62:x:1063:1063::/home/it62:/bin/bash
it64:x:1065:1065::/home/it64:/bin/bash
it66:x:1067:1067::/home/it66:/bin/bash
it68:x:1069:1069::/home/it68:/bin/bash
it70:x:1071:1071::/home/it70:/bin/bash
it72:x:1073:1073::/home/it72:/bin/bash
it74:x:1075:1075::/home/it74:/bin/bash
it76:x:1077:1077::/home/it76:/bin/bash
it78:x:1079:1079::/home/it78:/bin/bash
it80:x:1081:1081::/home/it80:/bin/bash
it82:x:1083:1083::/home/it82:/bin/bash
it84:x:1085:1085::/home/it84:/bin/bash
it86:x:1087:1087::/home/it86:/bin/bash
it88:x:1089:1089::/home/it88:/bin/bash
it90:x:1091:1091::/home/it90:/bin/bash
it92:x:1093:1093::/home/it92:/bin/bash
it94:x:1095:1095::/home/it94:/bin/bash
it96:x:1097:1097::/home/it96:/bin/bash
it98:x:1099:1099::/home/it98:/bin/bash
it100:x:1101:1101::/home/it100:/bin/bash
[root@master ~]# awk 'NR%2==0' /etc/passwd
bin:x:1:1:bin:/bin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
halt:x:7:0:halt:/sbin:/sbin/halt
operator:x:11:0:operator:/root:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
wang:x:1000:1000:wang:/home/wang:/bin/bash
it101:x:1001:1001::/home/it101:/bin/bash
it2:x:1003:1003::/home/it2:/bin/bash
it4:x:1005:1005::/home/it4:/bin/bash
it6:x:1007:1007::/home/it6:/bin/bash
it8:x:1009:1009::/home/it8:/bin/bash
it10:x:1011:1011::/home/it10:/bin/bash
it12:x:1013:1013::/home/it12:/bin/bash
it14:x:1015:1015::/home/it14:/bin/bash
it16:x:1017:1017::/home/it16:/bin/bash
it18:x:1019:1019::/home/it18:/bin/bash
it20:x:1021:1021::/home/it20:/bin/bash
it22:x:1023:1023::/home/it22:/bin/bash
it24:x:1025:1025::/home/it24:/bin/bash
it26:x:1027:1027::/home/it26:/bin/bash
it28:x:1029:1029::/home/it28:/bin/bash
it30:x:1031:1031::/home/it30:/bin/bash
it32:x:1033:1033::/home/it32:/bin/bash
it34:x:1035:1035::/home/it34:/bin/bash
it36:x:1037:1037::/home/it36:/bin/bash
it38:x:1039:1039::/home/it38:/bin/bash
it40:x:1041:1041::/home/it40:/bin/bash
it42:x:1043:1043::/home/it42:/bin/bash
it44:x:1045:1045::/home/it44:/bin/bash
it46:x:1047:1047::/home/it46:/bin/bash
it48:x:1049:1049::/home/it48:/bin/bash
it50:x:1051:1051::/home/it50:/bin/bash
it52:x:1053:1053::/home/it52:/bin/bash
it54:x:1055:1055::/home/it54:/bin/bash
it56:x:1057:1057::/home/it56:/bin/bash
it58:x:1059:1059::/home/it58:/bin/bash
it60:x:1061:1061::/home/it60:/bin/bash
it62:x:1063:1063::/home/it62:/bin/bash
it64:x:1065:1065::/home/it64:/bin/bash
it66:x:1067:1067::/home/it66:/bin/bash
it68:x:1069:1069::/home/it68:/bin/bash
it70:x:1071:1071::/home/it70:/bin/bash
it72:x:1073:1073::/home/it72:/bin/bash
it74:x:1075:1075::/home/it74:/bin/bash
it76:x:1077:1077::/home/it76:/bin/bash
it78:x:1079:1079::/home/it78:/bin/bash
it80:x:1081:1081::/home/it80:/bin/bash
it82:x:1083:1083::/home/it82:/bin/bash
it84:x:1085:1085::/home/it84:/bin/bash
it86:x:1087:1087::/home/it86:/bin/bash
it88:x:1089:1089::/home/it88:/bin/bash
it90:x:1091:1091::/home/it90:/bin/bash
it92:x:1093:1093::/home/it92:/bin/bash
it94:x:1095:1095::/home/it94:/bin/bash
it96:x:1097:1097::/home/it96:/bin/bash
it98:x:1099:1099::/home/it98:/bin/bash
it100:x:1101:1101::/home/it100:/bin/bash

相關文章