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 帮助手册

转载于:https://www.cnblogs.com/zzt1045/p/10793209.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值