linux02

Linux Day 2
1.命令
命令格式:
chagrp chgrp命令用于变更文件或目录的所属群组。


cd change directory 切换目录 格式:cd 路径


ls list 显示当前目录信息 格式:ls [参数]
-l 显示目录的详细信息
-a 显示当前目录所有文件(包括隐藏文件)
-i 显示目录下文件或目录的incode?



mkdir make directory 创建目录 格式: mkdir [-p] dirName
-p 确保目录名称存在,不存在的就建一个。 递归创建 即使没有文件夹也可以创建正确路径的文件

touch touch 创建文件 / 修改访问时间戳 (将时间修改为最后一次访问时间 ) 格式 :touch 路径 文件名


cp copy 复制 格式:cp [参数] 源路径 目标路径
复制文件 cp 源路径 目标路径
复制文件夹(目录) cp -r 源路径 目标路径(-r 一般操作文件夹)
cp -i 操作前询问 确认操作 -i 一般在操作前询问
cp 在复制文件时 目标路径 以文件名结尾 说明复制并且改名
eg:
在root文件夹下有test01和test02 两个文件夹 01中有123.log 963.log ,02为空文件夹
当前位置为01 ,将123.log复制到02中:cp 123.log ../test02
当前位置为01 ,将123.log复制到02中,并改名456.log: cp 123.log ../test02/456.log
PS:以不存在的文件名结尾,说明复制并且改名
当前位置为02 ,在456.log 中插入文本: echo "123456789" > 456.log
当前位置为01 ,将123.log复制到02中,并改名456.log :cp 123.log ../test02/456.log
ps:以存在的文件名结尾,会覆盖当前文件的内容
在复制目录时 目标路径 以不存在的目录结尾 说明复制并且改名
eg:
在root文件夹下有test01和test02 logs 三个文件夹
当前位置为root ,将02复制到logs中: cp -r test02 logs
当前位置为root ,将02复制到logs中,并改名test03: cp -r test02 logs/test03
PS:以不存在的文件夹名结尾,说明复制并且改名
当前位置为root ,将02复制到logs中 : cp -r test02 logs
ps:以存在的文件夹名结尾,会覆盖当前文件夹的内容

cat 查看小文件格式 直接展示最后一行 格式:cat fileName
cat 可以打开多个文件 合并显示
[root@localhost homework]# cat user.log group.log


more 查看大文件格式 从首行开始显示,可以向下翻页 格式:more fileName


head 查看文件的头部 从第一行开始查看 默认10行


tail 查看文件尾部 从最后一行开始查看
查看实时变化 tail -F 文件名
通过管道 |
head -5 etc/passwd | tail -3 查看第三行到第五行

rm remove 删除 rm [参数] 目标路径
删除文件 rm 目标文件
删除目录 rm -r 目标文件
强制删除 rm -rf 目标文件
别名:rm = rm -i
-i 删除前逐一询问确认。
-r 将目录及以下之档案亦逐一删除。 由内向外
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认



wc 统计命令 格式:wc 参数 文件
参数
-c或--bytes或--chars 只显示Bytes数 字节数 换行符占一个字节 换行有行为符
-l或--lines 只显示行数。
-w或--words 只显示字数。 按空格 进行统计单词

echo “字符串” 打印标准输出 将标准输入转成标准输出


mv move 移动或者重命名 格式:mv [参数]源路径 目标路径
文件的移动
如果 源文件 和 目标文件 不再同一目录下,可以移动。
mv test01/123.log logs 将01下的123.log文件移动到与01同层的logs文件夹下
如果 源文件 和 目标文件 不再同一目录下且文件名不存在,可以移动并改名
mv /root/test01/123.log /root/logs/789.log 将01下的123.log文件移动到与01同层的logs文件夹下并改名789.log
如果 目标路径 跟源路径 在同一层目录并且目标路径的目录不存在 重命名
mv zzt.log htt.log 将zzt.log 重命名为 htt.log
文件夹的移动
如果 源文件夹 和 目标文件夹 不再同一目录下,可以移动。
mv test01 logs 将01文件夹移动到logs中
如果 源文件夹 和 目标文件夹 不再同一目录下且文件名不存在,可以移动并改名
mv test02 logs/test04 将02文件夹移动到logs文件夹中且改名test02
如果 目标路径 跟源路径 在同一层目录并且目标路径的目录不存在 重命名
mv test02 test01 将02文件夹改名01


useradd 添加用户 useradd [参数] 用户名
参数
-d<登入目录>  指定用户登入时的启始目录。此目录不能存在
-g<群组>  指定用户所属的群组。
-p 密码 添加密码
-u uid userid 用户id

eg:
添加用户 test01 家目录在/home/javatest toot uid 888 密码 123456
useradd -d /home/javatest -g 0 -p 123456 -u 888 test01


userdel 删除用户 userdel [参数] 用户名
user -r 用户名 连家目录都删除
参数:
-r  删除用户登入目录以及目录中所有文件。
eg:
删除用户 test01 zt
rm -r zt
rm -r test01


usermod 改变用户属性 格式:usermod [参数] 用户名(修改家目录 修改组)
语法:usermod [-g <群组>][-G <群组>][用户帐号]
参数: -c<备注>  修改用户帐号的备注文字。
-g<群组>  修改用户所属的群组。
-G<群组>  修改用户所属的附加群组。
eg:
usermod -g test test02 将test与test02 分为一组
usermod -u 666 -g 501 test 将test uid 改为666 组改为 501


find 查找命令 格式: find 目标路径 [参数]
-name * 任意字符 ?匹配单个字符
-type f 文件 d 文件夹 (目录)
eg:
查找etc目录下 所有以sys开头的文件
find /etc -name "sys*" -type f
查找lib目录下 所有.log结尾的文件
find /lib -name "*.log" -type f
统计var目录下 所有目录的个数
find /var -type d |wc -l
查找etc目录下 所有包含if的字样的文件
find /etc -name "*if*" -type f

find.... -exec 命令 源路径{}表示 目标路径 \;
eg:
查找etc目录下 所有以sys开头的文件,且复制到tmp中的sysbackup中
find /etc -name "sys*" -type f -exce cp {} /tmp/sysbackup \;

查找sysbackup目录下 所有包含if的字样的文件,移动到ifbackup
find /tmp/sysbackup -name "*if*" -exec mv {} ifbackup \;

删除sysbackup文件夹下以sys开头的文件
find /tmp/sysbackup/ -name "sys*" -type f -exec rm -r {} \;

-exec 命令操作连接符 只用于命令 rm
xargs rm 转换成rm可删除的格式 转化参数 转义字符 find....| xargs rm
另一种 删除方式
eg:
删除/tmp/ifbackup下以if开头的文件
find /tmp/ifbackup -name "if*" -type f | xargs rm

-exec 命令操作连接符





grep 文本检索工具 一般配合正则使用 按行检索 只检索文本
[root@www ~]# grep [-acinv] [--color=auto] '搜寻字符串' filename
选项与参数:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 '搜寻字符串' 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
--color=auto :可以将找到的关键词部分加上颜色的显示喔!










2.符号:
> 重定向 可以创建文件但不能创建目录, 会覆盖原本的文件内容 将 标准输出 作为 标准输入 定向到目标路径
>> 追加重定向 不会覆盖原文件内容 追加到文件的末尾 可以合并文件
| 管道 将前一条命令的标准输出 作为下一条命令的标准输入
从一个命令中读取输出并将其写入另一个命令的输入中
& 将进程放置到后台运行
\ 转义字符 将特殊字符转化成普通字符



3.正则表达式
^ ----- 以......开头
$ ----- 结尾
完整的正则 ^[0-9]$
[0-9]表示全部数字 如果单个数字,直接书写
[a-z]
[A-Z]
\?重复0-1次
\n 重复N次
4.其他
ctrl+c 推出操作
alias 别名
root:x:0:0:root:/root:/bin/bash
用户名 uid gid 家目录 默认解析器
uid user id 500以后普通用户
gid group id
命令 --help 帮助手册

posted @ 2019-04-29 22:08  soul天  阅读(149)  评论(0编辑  收藏  举报