TA的每日心情 | 开心 2020-9-16 08:36 |
---|
签到天数: 110 天 连续签到: 1 天 [LV.6]测试旅长
|
./a/b.txt和a/b.txt都表示相对路径,当前目录下的a文件夹下的b.txt文件
/home/dijia478/a/b.txt表示绝对路径,根目录下的home文件夹下的dijia478文件夹下的a文件夹下的b.txt文件
cd ./a 切换到当前目录的a文件夹
cd .. 切换到上一层目录
cd / 切换到系统根目录
cd ~ 切换到用户主目录
cd - 切换到上一个所在目录
pwd 显示当前所在目录的绝对路径
2.查看文件列表
ls /path/显示该目录所有文件或文件夹名
ls -a 显示所有文件或文件夹名(包含隐藏的)
ls -l 按列表显示所有文件或文件夹,缩写成ll
ll -h 友好的显示文件大小(显示成K,MB,GB)
3.创建和删除文件夹
mkdir app 创建app文件夹
mkdir –p app2/test 级联创建aap2以及test文件夹
rmdir app 删除app目文件夹(需要是空文件夹)
4.文件操作
rm a.txt 删除a.txt文件,删除需要用户确认,y/n
rm -f a.txt 不询问,直接删除a.txt文件
rm -r a 递归删除a文件夹(无论是否有内容)
rm -rf a 不询问递归删除a文件夹(慎用)
rm -rf * 删除当前目录下所有内容(最好别用)
rm -rf /* no 作 no die(Linux系统就玩完了)
cp a.txt b.txt 将a.txt复制为b.txt文件
cp a.txt ../ 将a.txt文件复制到上一层目录中
mv a.txt ../ 将a.txt文件移动到上一层目录中
mv a.txt b.txt 将a.txt文件重命名为b.txt
touch a.txt 创建一个空的a.txt文件
echo "good good study" > a.txt 把">"左边的输出内容放到右边的文件里去,如果存在就覆盖,如果不存在就创建
vi a.txt 用文本编辑器编辑一个文件,如果不存在就创建
5.文件打包归档和压缩
tar -cvf file.tar dirpath filepath 将dir文件夹和file文件在当前目录下打包成file.tar
tar –xvf file.tar 解包到当前目录
gzip file.tar 压缩文件或文件夹
gzip –d file.tar.gz 解压文件或文件夹
tar -czvf file.tar.gz dirpath filepath 将dir文件夹和file文件在当前目录下打包并压缩成file.tar.gz
tar -xzvf file.tar.gz 解压并解包到当前目录下
tar -xzvf file.tar.gz -C /home/dijia478/ 解压并解包到/home/dijia478/目录下
常用参数:
-c:创建一个新tar文件
-v:显示运行过程的信息
-f:指定文件名
-z:调用gzip压缩命令进行压缩
-t:查看压缩文件的内容
-x:解开tar文件
zip test.txt.zip test.txt 也是打包并压缩
unzip test.txt.zip 解包并解包
6.查看文本文件
cat a.txt 一次性显示整个文件内容
more a.txt 可以分页看(翻页:空格,往回翻:b ,退出: q或者 Ctrl+C)
less a.txt 不仅可以分页,还可以方便地搜索,回翻等操作(翻页:空格,往回翻:↑,往下翻:↓,退出:q或者 Ctrl+C)
tail -10 a.txt 查看文件的尾部的10行
tail -f user.log 实时刷新显示文件的尾部,这条命令对于观察调试程序的运行非常重要
head -20 a.txt 查看文件的头部20行
注:ctrl+c 结束查看
7.搜索查找命令
grep‘haha’./* 打印当前目录下所有文件中含有'haha'的地方(支持正则表达式)
grep -c‘haha’./* 显示匹配到的行数
grep -r‘haha’./* 对子目录也进行遍历搜索
grep -l‘haha’./* 只显示命中的文件名
grep -n‘haha’./* 显示命中的行号
grep -ld skip‘haha’./* 显示命中的文件名,不要搜索子目录
参数含义:
-r 递归搜索子目录
-l 只列出有匹配行的文件名
-n 列出匹配行的行号
-d skip 不搜索子文件夹
常用grep跟其他命令组合使用来查找我们关心的信息(管道)
示例:
service --status-all | grep 'httpd' 在当前系统所有服务中查找'httpd'
netstat -nltp | grep '22' 查找监听'22'端口的服务程序
ps –ef | grep Java 查找系统中当前运行的java进程
find ./ -name '*.txt' 查找以.txt结尾的文件(会遍历当前目录)
find ./ -name ‘install*’ 查找以install开头的文件或文件夹
find ./ -type f 查找普通文件
find ./ -type l 查找连接文件(快捷方式)
8.文本命令
> 重定向输出,覆盖原有内容;
>> 重定向输出,又追加功能;
cat /etc/passwd > a.txt 将密码文件输出定向到a.txt中
cat /etc/passwd >> a.txt 输出并且追加
ifconfig > ifconfig.txt 保存ip信息到文件中
wc -l a.txt 统计文本行数
wc -w a.txt 统计文本单词数
wc -m a.txt 统计文本字符数
wc -c a.txt 统计文本字节数
vi编辑器
vi filepath 打开文件
按Esc键 切换到命令行模式
切换到插入模式:
i 在当前位置生前插入
I 在当前行首插入
a 在当前位置后插入
A 在当前行尾插入
o 在当前行之后插入一行
O 在当前行之前插入一行
dd 删除整行
7 dd 向上删除7行
U 回退(类似于windows 中 ctrl + z)
R 替换
:(冒号) 切换到底行模式
:q 退出
:wq 保存并退出(shift + zz也可以保存)
:q! 不保存退出
9.其他常用命令
echo $JAVA_HOME 输出变量JAVA_HOME的值
whoami 查询当前登陆的用户名
which ls 查询ls命令的$PATH路径
mkdir test && cd test
只有在 && 左边的命令返回真(命令返回值 $? == 0),&& 右边的命令才会被执行。
只要有一个命令返回假(命令返回值 $? == 1),后面的命令就不会被执行。
三、用户管理命令
1.添加用户
基本示例:
useradd user001
passwd 123456 需要设置密码
参数手册:
-u 指定组ID(uid)
-g 指定所属的组名(gid)
-G 指定多个组,用逗号“,”分开(Groups)
-c 用户描述(comment)
-d 指定用户目录
-e 失效时间(expire date)
2.删除用户
userdel user002 这样删除的时候,用户的主目录会被保留
userdel -r user002 删除用户的同时删除用户的主目录
3.修改用户属性
指令:usermod
参数:
-l 修改用户名 (login)usermod -l a b(b改为a)
-g 修改组 usermod -g sys tom
-d 修改用户的宿主目录
-G 添加多个组 usermod -G sys,root tom
-L 锁定用户账号密码(Lock)
-U 解锁用户账号(Unlock)
示例:
usermod -l user002 user001 将user001的登陆名改为user002
usermod -g root user002 将user002的组改为root组
usermod -G hello1,hello2 user002 给user002添加两个组hello1,hello2
usermod -d /home/dijia478 user002 将user002的主目录改成/home/dijia478
(要事先创建dijia478目录,并且拷入环境变量文件)
4.用户组管理
用户组相关属性:
每个用户至少属于一个用户组
(创建新用户时如果不指定所属组,则会自动创建并归属到一个跟用户名同名的组)
每个用户组可以包含多个用户
同一个用户组的用户享有该组共有的权限
用户组管理操作命令:
groupadd java 创建用户组
groupdel hello2 删除用户组
groupmod –n newname oldname 修改用户组名称
groups user002 查看用所属的组
5.用户及用户组相关配置文件
用户配置信息存放位置:
保存用户信息的文件:/etc/passwd
保存密码的文件:/etc/shadow
|
|