免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 一生有你llx
打印 上一主题 下一主题

[系统管理] Linux基础命令 [复制链接]

论坛徽章:
1
15-16赛季CBA联赛之福建
日期:2018-12-10 14:43:45
101 [报告]
发表于 2019-01-09 06:16 |只看该作者
本帖最后由 一生有你llx 于 2019-02-04 08:26 编辑

join
        找出两个文件中相同的字段,根据相同字段合并两个文件,将合并结果显示到标准输出。
       此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
       join [选项]  file1  file2

2、选项列表
选项
说明
--version
显示命令版本信息
--help
显示帮助文档
-a 1或2
将文件中没有相同字段的行显示出来
-e string
如果在文件中找不到指定的字符串,在输出中填入选项中的字符串
-I | --ignore-case
忽略大小写
-j FIELD
等价于“-1  FIELD  -2  FIELD”
-o format
用指定的格式显示结果
-t CHAR
指定分隔符
-v 1或2
和-a一样,但是只显示没有相同字段的行
-1 FIELD
连接文件1指定的字段
-2 FIELD
连接文件2指定的字段
--check-order
检查输入是否正确排序,即使所有输入行都是可修的。
--nocheck-order
不检查输入是否正确排序

3、实例
1)合并两个文件到标准输出
[root@192 weijie]# cat 1.c 2.c             //查看文件
hello world
i am david
love linux
this code
nihao ed
hello linux
i am weijie
love world
hehe
im join
[root@192 weijie]# join 1.c 2.c           //合并相同行
hello world linux
i am david am weijie
love linux world
2)显示没有相同字段的行
[root@192 weijie]# join 1.c 2.c -v 1          //显示文件1中不没有相同字段的行
this code
nihao ed
[root@192 weijie]# join 1.c 2.c -v 2         //显示文件2中没有相同字段的行
hehe
im join


做了一个Linux学习的平台,目前出来一个雏形,各位可以参考使用
链接:https://pan.baidu.com/s/1GOLVU2CbpBNGtunztVpaCQ  密码:n7bk

论坛徽章:
1
15-16赛季CBA联赛之福建
日期:2018-12-10 14:43:45
102 [报告]
发表于 2019-01-10 06:47 |只看该作者
col
       过滤掉影响阅读的控制字符,使用重定向符把说明手册的内容输出到文本文件时,控制字符就成乱码。col指令可以过滤掉控制字符,使文本可读。col从标砖输入读取内容,输出到标准输出。col在读取字符时跟踪字符集,并确保字符集在输出时是正确的。如果输入试图备份到最后一条刷新行,col将显示一条警告消息。
       此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。
1、语法
       col [-bfpx]  [-lnum] file

2、选项列表
选项
说明
--version
显示命令版本信息
--help
显示帮助文档
-b
过滤所有的控制字符
-f
过滤掉RLF字符,忽略HRLF字符
-p
忽略未知的控制字符
-x
将多个空格用tab代替
-lnum
设置缓冲区大小,默认128行

3、实例
       将clear指令的手册经过过滤,输出到文本文件
[root@192 weijie]# man clear > 3.c                  //将手册从定向到文件
[root@192 weijie]# vim 3.c                            //编辑文件,内部有很多乱码,这些都是控制字符
clear(1)                                                             clear(1)
N^HNA^HAM^HME^HE
       c^Hcl^Hle^Hea^Har^Hr - clear the terminal screen
S^HSY^HYN^HNO^HOP^HPS^HSI^HIS^HS
       c^Hcl^Hle^Hea^Har^Hr
D^HDE^HES^HSC^HCR^HRI^HIP^HPT^HTI^HIO^HON^HN
       c^Hcl^Hle^Hea^Har^Hr clears your screen if this is possible.  It looks in the environ-
       ment for the terminal type and then in the t^Hte^Her^Hrm^Hmi^Hin^Hnf^Hfo^Ho database to  figure
out how to clear the screen.
[root@192 weijie]# man clear | col -b > 3.c                //将手册内容过滤之后,定向到文件
[root@192 weijie]# vim 3.c                                    //编辑文件内容,没有乱码
clear(1)                                                             clear(1)
NAME
clear - clear the terminal screen
SYNOPSIS
clear
DESCRIPTION
       clear clears your screen if this is possible.  It looks in the environ-
       ment for the terminal type and then in the terminfo database to  figure
       out how to clear the screen.



论坛徽章:
1
15-16赛季CBA联赛之福建
日期:2018-12-10 14:43:45
103 [报告]
发表于 2019-01-11 06:58 |只看该作者
文本过滤colrm
       从标准输入读取数据,删除指定的列,然后送到标准输出。如果用一个参数调用,则将从指定的列开始删除每一行的列。如果使用两个参数调用,则将删除从第一列到最后一列的列。列编号以第1列开始。
       此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
       colrm [startcol]  [endcol]

2、选项列表
       无

3、实例
1)删除第5列之后的列
[root@192 weijie]# cat 1.c                    //显示内容
hello world
i am david
love linux
this code
nihao ed
[root@192 weijie]#colrm 5 < 1.c            //删除第5列之后
hell
i am
love
this
niha
2)删除5~9列
[root@192 weijie]# colrm 5 9 < 1.c          //删除5~9
hellld
i amd
lovex
this
niha
3)不删除,全部显示
[root@192 weijie]# colrm < 1.c             //不指定列,显示所有的
hello world
i am david
love linux
this code
nihao ed




论坛徽章:
1
15-16赛季CBA联赛之福建
日期:2018-12-10 14:43:45
104 [报告]
发表于 2019-01-12 19:33 |只看该作者
paste
        将文件以行的方式合并在一起,用tab字符分隔开,将结果送到标准输出。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。
1、语法
paste [选项]  file

2、选项列表
选项
说明
--version
显示命令版本信息
--help
显示帮助文档
-d | --delimiters=LIST
指定间隔字符
-s | --serial
顺序的合并一个文件的多行到一行

3、实例
1)顺序合并文件,使用间隔符“;”
[root@192 weijie]# cat 1.c                             //查看内容
hello world
i am david
love linux
this code
nihao ed
[root@192 weijie]# paste -d ";" -s 1.c            //使用分号为间隔,合并文件的多行到一行
hello world;i am david;love linux;this code;nihao ed
2)合并两个文件
[root@192 weijie]#paste 1.c 2.c                   //合并两个文件,默认间隔符是tab
hello world   hello linux
i am david     i am weijie
love linux     love world
this code      hehe
nihao ed       im join




论坛徽章:
1
15-16赛季CBA联赛之福建
日期:2018-12-10 14:43:45
105 [报告]
发表于 2019-01-13 16:44 |只看该作者
wc
        统计文件的字节数、单词数、行数。
        此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
        wc [选项]  file

2、选项列表
选项
说明
--version
显示命令版本信息
--help
显示帮助文档
-c | --bytes
仅显示字节数
-m | --chars
仅显示字符数
-l | --lines
仅显示行数
-L | --max-line-length
显示文件中最长行的字符数
-w | words
显示单词数

3、实例
1)显示字节数
[root@192 weijie]# cat 1.c
hello world
i am david
love linux
this code
nihao ed
[root@192 weijie]# wc -c 1.c
53 1.c
2)显示行数
[root@192 weijie]#wc -l 1.c
5 1.c
3)显示单词数
[root@192 weijie]#wc -w 1.c
11 1.c




论坛徽章:
1
15-16赛季CBA联赛之福建
日期:2018-12-10 14:43:45
106 [报告]
发表于 2019-01-14 10:11 |只看该作者
fmt
       将指定文件的内容,按照指定的格式重新排版,结果送到标准输出。
       此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。
1、语法
       fmt [width] [选项]  file

2、选项列表
选项
说明
--version
显示命令版本信息
--help
显示帮助文档
-c | --crown-margin
每段前两行缩排
-p | --prefix=STRING
重新排版以指定字符串开头的行
-s | --split-only
将长行分割开
-t | --tagged-paragraph
将第一行缩进
-u | --uniform-spacing
字与字之间一个空白,句子后两个空白
-w | --width=WIDTH
设置每行字符数,默认75

3、实例
1)格式化文本
[root@192 weijie]# cat 3.c
nihao   
linux
i
am
david
[root@192 weijie]# fmt 3.c                       //直接格式化,将所有的内容合并成行
nihao linux i am david
2)缩进第一行
[root@192 weijie]# cat 3.c
  nihao linux.
  i am david.
[root@192 weijie]# fmt -5 -t 3.c               //每行5个字符,第一行缩进
  nihao
linux.
  i
am
david.




论坛徽章:
1
15-16赛季CBA联赛之福建
日期:2018-12-10 14:43:45
107 [报告]
发表于 2019-01-15 16:44 |只看该作者
expand
       将文件中的tab转换成空格,结果送到标准输出。如果没有指定文件,那么从标准输入读取。
       此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
       expand [选项]  file

2、选项列表
选项
说明
--version
显示命令版本信息
--help
显示帮助文档
-i | --initial
不转换空白行的tab
-t | --tabs
指定tab代表的字符数,默认8个

3、实例
       替换tab
[root@192 weijie]# cat 2.c                      //查看内容
hello     linux
i          am         weijie
love      world
hehe
im        join
[root@192 weijie]# expand -t 1 2.c           //tab1个空格代替
hello linux
i  am  weijie
love  world
hehe
im  join



unexpand
       将文件中的空白字符转换为控制字符tab,将结果送到标准输出。空格数大于8才能被替换。如果没有指定文件,那么从标准输入读取。
       此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
       unexpand [选项]  file

2、选项列表
选项
说明
--version
显示命令版本信息
--help
显示帮助文档
-a
转换所有的空格
--first-only
仅转换开头的空格
-t | --tabs
指定tab代表的字符数,默认是8

3、实例
        替换空格
[root@192 weijie]# cat 3.c                         //查看内容,有16个空格
nihao                linux
[root@192 weijie]# unexpand -a –t 16 3.c         //替换16个空格,变为tab
nihao       linux



论坛徽章:
1
15-16赛季CBA联赛之福建
日期:2018-12-10 14:43:45
108 [报告]
发表于 2019-01-16 09:05 |只看该作者
chfn
      chfn指令可以改变通过finger指令查看到的信息。此信息存储在/etc/passwd文件中,并由Finger程序显示。LinuxFinger命令将显示可由chfn更改的四条信息:您的真名、您的工作区和电话以及您的家庭电话。这四条信息中的任何一条都可以在命令行上指定。如果命令行上没有提供任何信息,chfn将进入交互模式。在交互模式下,chfn将提示每个字段。在提示符下,您可以输入新信息,也可以按“返回”使字段保持不变。输入关键字“None”使字段为空。
      此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
      chfn [选项]  user

2、选项列表
选项
说明
-u | --help
显示帮助文档
-v | --version
显示命令版本
-f | --full-name
设置真实姓名
-o | --office
设置办公室地址
-h | --home-phone
设置家庭电话
-p | --office-phone
设置办公室电话

3、实例
      修改用户真实姓名和家庭电话
[root@localhost david]# chfn -f wejie -h 110 root           //修改信息
Changing finger information for root.
Finger information changed.
[root@localhost david]# finger root                            //查看信息,已经修改成功
Login: root                   Name: wejie
Directory: /root                      Shell: /bin/bash
Office: 110
On since 五 9月  7 21:02 (CST) on tty1 from :0
    14 days 21 hours idle
On since 六 9月 22 07:36 (CST) on pts/0 from :0.0
   9 hours 12 minutes idle
On since 四 9月 13 08:55 (CST) on pts/1 from :0.0
New mail received 六 9月 22 18:05 2018 (CST)
     Unread since 二 8月 21 09:22 2018 (CST)
No Plan.



论坛徽章:
1
15-16赛季CBA联赛之福建
日期:2018-12-10 14:43:45
109 [报告]
发表于 2019-01-17 08:48 |只看该作者
chsh
       改变用户登录时使用的shell,默认使用bash。如果命令行上没有给出shell,chsh将提示输入一个shell。chsh将接受系统上任何可执行文件的完整路径名。但是,如果shell未在“/etc/shell”文件中列出,则将发出警告。另一方面,也可以将其配置为只接受此文件中列出的shell,除非您是root用户。
        此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
        chsh [选项]  user

2、选项列表
选项
说明
-u | --help
显示帮助文档
-v | --version
显示命令版本
-s | --shell
改变登录后使用的shell环境
-l | --list-shells
显示系统当前可以用的shell

3、实例
1)查看可用的shell
[root@localhost david]# chsh -l david                  //显示当可用shell
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh
2)改变用户shell
[root@localhost david]# chsh -s /bin/sh david         //改变登录shell
Changing shell for david.
Shell changed.
[root@localhost david]# su david                        //切换用户,shell已经改变
sh-4.1$




论坛徽章:
1
15-16赛季CBA联赛之福建
日期:2018-12-10 14:43:45
110 [报告]
发表于 2019-01-18 07:57 |只看该作者
usermod
        修改用户的信息,包括用户名、密码、家目录、uid等。
        此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
        usermod  [选项]  [参数]

2、选项列表
选项
说明
--help
显示帮助文档
--version
显示命令版本
-c comment
修改备注信息
-d home_dir
修改账户每次登陆使用的目录
-e expire_date
修改账号终止日期,MM/DD/YY
-f inactive_days
账号过期后多久停用
-g initial_group
修改账户的组,这个组必须存在
-G group,[...]
修改用户的附加组
-l login_name
变更使用者login时的名称为login_name,其余不变。特别是,使用者目录名应该也会跟着更动成新的登入名。
-s shell
修改账户登录后使用的shell
-u uid
修改用户ID

3、文件
        /etc/passwd,使用者帐号资讯。
        /etc/shadow,使用者帐号资讯加密。
        /etc/group,群组资讯。

4、实例
1)修改用户uid
[root@localhost david]# tail -n 2 /etc/passwd                     //查看用户信息
webalizer:67:67:Webalizer:/var/www/usage:/sbin/nologin
user01:502:502::/home/user01:/bin/bash
[root@localhost david]# usermod -u 503 user01                      //修改uid503
[root@localhost david]# tail -n 2 /etc/passwd                      //查看用户信息,uid已经改变
webalizer:67:67:Webalizer:/var/www/usage:/sbin/nologin
user01:503:502::/home/user01:/bin/bash
2)修改备注信息
[root@localhost david]# usermod -c "user01 test" user01          //修改备注信息为“user01 test
[root@localhost david]# tail -n 2 /etc/passwd                      //查看用户信息
webalizer:67:67:Webalizer:/var/www/usage:/sbin/nologin
user01:503:502:user01 test:/home/user01:/bin/bash




您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP