当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪学习Linux的useradd创建用户命令      useradd 命令 用于在linux系统中创建用户信息。 参数解释如下: -c comment 给账户添加注释信息,说明此账户的是干什么用的,有些linux上把它作为用户的全名 -d dir 为用户指定主目录;如果.........
    ▪linux中ln命令的用法说明      在linux中,使用ln命令。 当需要在不同的目录,用到相同的文件时,不需要在每一个需要的目录下都放一个必须相同的文件,只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命.........
    ▪Vim替换字符串的一些技巧总结      介绍下Vim的替换字符串方法技巧。 1,基本替换 :s/str1/str2/ 替换当前行第一个str1为str2 :s/str1/str2/g 替换当前行所有str1为str2 :n,$s/str1/str2/ 替换第 n 行开始到最后一行中每一行的第一个str1为str2 .........

[1]学习Linux的useradd创建用户命令
    来源: 互联网  发布时间: 2013-12-24

useradd 命令
用于在linux系统中创建用户信息。

参数解释如下:

-c comment
给账户添加注释信息,说明此账户的是干什么用的,有些linux上把它作为用户的全名

-d dir
为用户指定主目录;如果不指定,将使用 /etc/default/useradd中HOME指定的路径建立主目录,主目录名称为用户名

-m
此选项会检查-d指定的主目录是否存在,如果不存在则创建它;如果没有指定主目录,则以/etc/default/useradd中HOME的值创建一个以账户名为名字的目录

-k
skel如果没有此选项 -m会以/etc/default/useradd中SKEL指定的目录为模板创建用户主目录;如果指定了则以指定的目录创建主目录。模板内容一般包括用户登录后的一些设定,如.profile等

-M
不创建主目录,即使-d指定了主目录

-u uid
指定用户的ID,如果不指定,系统会根据/etc/login.defs中UID_MIN分派一个,比如,UID_MIN值为1000,系统已经有一个1001的账户,则系统会分派1002给此账户。

-g gid
指定用户所属的组的组ID,/etc/login.defs中有一个GID_MIN,使用方法和UID_MIN一样

-G [gname1,gname2 ...]
这里指定用户所属的次要的组 参数为以","分隔的组名称;此选项会修改/etc/group对应组名的第四个字段,比如 -G指定了组名sys,如果这个组存在,就会在sys对应的行上写入",username"

-r
创建一个系统账户;系统账户的ID由/etc/login.defs中SYSTEM_UID_MIN指定

-s shell
指定用户的登录Shell,此shell必须是/etc/shells中的一;如果不指定,会使用/etc/default/useradd中SHELL指定默认值

-p
指定账户的密码;如果不指定,系统会在/etc/shadow中此账户的密码字段里写一个"!",表示此账户禁用,可以用passwd给用户设定密码;如果指定了密码,系统会调用API crypt( )把密码加密(/etc/shadow中保存的是加密后的密码,只有root可以修改,同组账户可以查看);

加密方法可以查看crypt:man 3 crypt,由此还可以知道,密码中可以包含64种字符,用正则表达式表示:[a–zA–Z0–9./]。
useradd还有一些和密码有效期有关的选项,具体请看man。


    
[2]linux中ln命令的用法说明
    来源: 互联网  发布时间: 2013-12-24

在linux中,使用ln命令。
当需要在不同的目录,用到相同的文件时,不需要在每一个需要的目录下都放一个必须相同的文件,只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。

例如:ln –s /bin/less /usr/local/bin/less
  -s 是代号(symbolic)的意思。

注意:
第一,ln命令会保持每一处链接文件的同步性,不论你改动了哪一处,其它的文件都会发生相同的变化;
第二,ln的链接又软链接和硬链接两种,软链接就是ln –s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。

  如果用ls察看一个目录时,发现有的文件后面有一个@的符号,那就是一个用ln命令生成的文件,用ls –l命令去察看,就可以看到显示的link的路径了。
  指令详细说明
  指令名称 : ln
  使用权限 : 所有使用者
  使用方式 : ln [options] source dist,其中 option 的格式为 :
  [-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]
  [--help] [--version] [--]

  说明 : Linux/Unix 档案系统中,有所谓的连结(link),我们可以将其视为档案的别名,而连结又可分为两种 : 硬连结(hard link)与软连结(symbolic link),硬连结的意思是一个档案可以有多个名称,而软连结的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬连结是存在同一个档案系统中,而软连结却可以跨越不同的档案系统。

  ln source dist 是产生一个连结(dist)到 source,至于使用硬连结或软链结则由参数决定。

  不论是硬连结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。
  -f : 链结时先将与 dist 同档名的档案删除
  -d : 允许系统管理者硬链结自己的目录
  -i : 在删除与 dist 同档名的档案时先进行询问
  -n : 在进行软连结时,将 dist 视为一般的档案
  -s : 进行软链结(symbolic link)
  -v : 在连结之前显示其档名
  -b : 将在链结时会被覆写或删除的档案进行备份
  -S SUFFIX : 将备份的档案都加上 SUFFIX 的字尾
  -V METHOD : 指定备份的方式
  --help : 显示辅助说明
  --version : 显示版本

看下面的例子:
 

代码示例:
将文件 yy 产生一个 symbolic link : zz
ln -s yy zz

将文件 yy 产生一个 hard link : zz
ln yy xx

    
[3]Vim替换字符串的一些技巧总结
    来源: 互联网  发布时间: 2013-12-24

介绍下Vim的替换字符串方法技巧。

1,基本替换
:s/str1/str2/ 替换当前行第一个str1为str2
:s/str1/str2/g 替换当前行所有str1为str2
:n,$s/str1/str2/ 替换第 n 行开始到最后一行中每一行的第一个str1为str2
:n,$s/str1/str2/g 替换第 n 行开始到最后一行中每一行所有str1为str2
(n 为数字,若 n 为 .,表示从当前行开始到最后一行)
:%s/str1/str2/(等同于 :g/str1/s//str2/) 替换每一行的第一个str1为str2
:%s/str1/str2/g(等同于 :g/str1/s//str2/g) 替换每一行中所有str1为str2

2,可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符
:s#str1/#str2/# 替换当前行第一个str1/ 为str2/
 

代码示例:
:%s+/str11/str12/+/str21/str22+

(使用+ 来 替换 / ):

代码示例:
/str11/str12/替换成/str21/str22/

3,文件中删除^M
问题描述:对于换行,Windows下用回车换行(0A0D)来表示,Linux下是回车(0A)来表示。这样,将window上的文件拷到Unix上用时,总会有个^M,请写个用在Unix下的过滤Windows文件的换行符(0D)的shell或c程序。有两种方法可以完成此目的:
(1)使用命令:

代码示例:
cat oldfilename | tr -d “^V^M” > newfilename
 

(2)使用命令:

代码示例:
sed -e “s/^V^M//” oldfilename > newfilename
 

注意:
在1、2两种方法中,^V和^M指的是Ctrl+V和Ctrl+M。必须要手工进行输入,而不是粘贴。
在vim中处理:首先使用vim打开文件,然后按ESC键,接着输入命令:
 

代码示例:
:%s/^V^M//
:%s/^M$//g

如果上述方法无用,则正确的解决办法是:
 

代码示例:
(1) tr -d "\r" < old_file_name > new_file_name 或者 cat oldfilename | tr -d "\r" > new_file_name
(2) tr -d "\015" < old_file_name > new_file_name或者 cat oldfilename | tr -d "\015" > new_file_name
strings A>B

4,其它技巧
利用 :s 命令可以实现字符串的替换。具体的用法包括:
:s/str1/str2/ 用字符串 str2 替换行中首次出现的字符串 str1
:s/str1/str2/g 用字符串 str2 替换行中所有出现的字符串 str1
:.,$ s/str1/str2/g 用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1
:1,$ s/str1/str2/g 用字符串 str2 替换正文中所有出现的字符串 str1
:g/str1/s//str2/g 功能同上
从上述替换命令可以看到:g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。


    
最新技术文章:
▪linux系统中的列出敏感用户的脚本代码
▪a10 config backup for aXAPI
▪一键备份gitolite服务器的Shell脚本
▪nagios 分发文件实现代码
▪阿里云云服务器Linux系统更新yum源Shell脚本
▪一个监控LINUX目录和文件变化的Shell脚本分享
▪Linux下实现SSH免密码登录和实现秘钥的管理、...
▪Shell正则表达式之grep、sed、awk实操笔记
▪3个备份系统文件并邮件发送的Shell脚本分享
▪CentOS 6.3下给PHP添加mssql扩展模块教程
▪监控网站是否可以正常打开的Shell脚本分享
▪shell脚本编程之if语句学习笔记
▪shell脚本编程之循环语句学习笔记
▪shell脚本编程之case语句学习笔记
▪Shell脚本实现的阳历转农历代码分享
▪Shell脚本实现复制文件到多台服务器的代码分...
▪Shell脚本实现批量下载网络图片代码分享
▪shell常用重定向实例讲解 iis7站长之家
▪Shell脚本数组用法小结
▪Shell脚本批量重命名文件后缀的3种实现
▪C语言实现的ls命令源码分享
▪Linux下查找后门程序 CentOS 查后门程序的shell脚...
▪Shell 函数参数
▪linux shell 自定义函数方法(定义、返回值、变...
▪Shell实现判断进程是否存在并重新启动脚本分...
▪Shell脚本break和continue命令简明教程
▪Shell脚本函数定义和函数参数
▪让代码整洁、过程清晰的BASH Shell编程技巧
▪shell常用重定向实例讲解
▪awk中RS、ORS、FS、OFS的区别和联系小结
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3