Linux-命令大全
Posted 人塞不能怨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux-命令大全相关的知识,希望对你有一定的参考价值。
Linux-命令大全
查看
#查看目录 [DIR]缺省认位当前目录
ls [DIR] #查看目录中的内容简单列表
ll [DIR] #查看详情列表
ls -la [DIR] #查看所有内容,包括隐藏内容
#查看文件 输出至控制台=>标准输出
cat [-n] FILE_PATH #查看文件中的所有内容
head -n FILE_PATH #查看文件 前n行的内容
tail -n FILE_PATH #查看文件后n行的内容
#查看/etc/profile文件的第6~10行的内容
head -10 /etc/profile>tmp.log
tail -5 tmp.log
rm -f tmp.log
#或使用管道符
gead -10 /etc/profile|tail -5
grep 'CONTENT' FILE_PATH
#管道符【允许多重管道】
cat /etc/profile|grep usr
#重定向
STD_CONSOLE_OUT>FILE_PATH
# > 覆盖模式
# >> 追加模式
COMMAND>>info.log 2>>error.log #正常信息和异常信息分别输出到不同文件
COMMAND>>info.log 2>>&1 #正常信息和异常信息输出到相同文件
权限
#权限详解
#权限 层级 所有者 所属组 字节大小 创建日期 资源名称
-rw-r--r--. 1 root root 411 May 26 09:46 tmp.log
# 第一部分
# - 文件
# d 目录
# l 链接 类似于windows快捷方式
# 后三个部分分别代表三个身份用户对该资源的的权限
# 所有者
# 组内用户
# 组外用户
# 权限的构成 r=>read读 w=>write写 x=>execute执行
权限类型 二进制 十进制
--- 000 0
r-- 100 4
-w- 010 2
--x 001 1
rw- 110 6
r-x 101 5
-wx 011 3
rwx 111 7
#修改操作权限和所有权
chmod u/g/o(=/+/-)(rwx) SOURCE
chmod 777 SOURCE
chown USER_:GROUP_NAME SOURCE
用户
#查看
vim/cat /etc/passwd
用户名 密码 用户ID 分组ID 组名 当前用户主目录 当前用户的SHELL命令集类型
simin : x : 1000 : 1000 : simin : /home/simin : /bin/bash
mysql : x : 27 : 27 : MySQL Server : /var/lib/mysql : /bin/false
#创建用户
useradd USER_NAME -g PRIMARY_GROUP -G SECONDARY_GROUP -d USER_PATH -p USER_PASSWORD
#删除组内用户
gpasswd -d USER_NAME GROUP_NAME
#删除用户【自动级联删除已绑定的分组用户列表中的用户】
userdel -r USER_NAME #-r删除用户所有文件目录
#修改用户信息
usermod USER_NAME -G GROUP_NAME #追加次分组
分组
#查看
vim /etc/group
组名 密码 组ID 组内用户
simin : x : 1000 : simin
mysql : x : 27 :
#添加分组
groupadd GROUP_NAME
#删除分组
groupdel GROUP_NAME
#进程操作
kill -9 PROCESS_ID 强制结束进程
#执行命令
#原始命令
ls -la /etc/profile.d|grep vim
#特殊方式
#将命令执行的结果存入文件
文件和目录
#目录 默认权限:755
#绝对路径和相对路径
#相对路径
./
#绝对路径
/PATH/...
#创建目录【支持多并列】
mkdir DIR_NAME[DIR_NAME2...]
#创建多级目录
mkdir -p PATH/SUB_PATH/...
#删除目录
rm -d PATH #删除空目录
rm -rf PATH #强制递归删除目录指向的所有资源(包括目录本身)
#查看当前目录
pwd
#目录切换
cd PATH
cd ../ #返回上一级
cd ~ #返回当前用户的主目录
cd / #退回当前系统的根目录
#文件 默认权限:644
#创建
touch FILE_PATH #返回上一级
vi(m) FILE_PATH #创建并操作、编辑文件
#默认进入命令行模式
shift+g #调制最后一行
/FIND_CNT #在当前文件中检索
#=> 通过o/i切换至编辑模式
#=> esc返回命令行模式
#退出
shift+zz #快捷键:保存并退出
:x #快捷键:保存并退出
:wq! #:w保存不退出:q退出不保存!强制执行
#编辑
#修改vim tab缩进为4个字符
vim /etc/vimrc
------------------
set tabstop=4
------------------
#删除
rm -f FILE_PATH
#移动
mv FILE_PATH DEST_DIR #移动
#移动
mv FILE_PATH DEST_FILE_PATH #[移动且]重命名
#拷贝
cp FILE_PATH DEST_DIR
#文件统计:行数,单词书,字符数
wc FILE_PATH
#解压文件
tar -zxvf jdk-8u171-linux-x64.tar.gz -C /opt/software/java/
# -z *.gz
# -x 解压
# -c 压缩
# -v 输出详情
# -f 固定格式符
#压缩文件
tar -zcvf hadoop313.tar.gz hadoop313/
vim文件编辑
#常用vim命令
#移动
h ⬅
j ⬇
k ⬆
l ➡
#选取
命令行 v
#复制行
命令行 yy
#删除兼前且
命令行 dd
#粘贴
命令行 p
#保存和退出
shift + zz
#字符查找
命令行输入 /关键字
#字符替换
范围 替换标识 要替换的字符 替换后字符 g(global) c(confirm) i(ignorecase)
#例子 : 1,$ s /path /dir /gc
#%=(1,$)
#(.$) 当前行到末尾
/_ #替换首个
//_ #替换所有
#例子:替换掉文中所有冒号
:%s/"//g
sed文件编辑
#sed函数
#非交互流式文本【编辑】器
#对文本文件进行增、删、改、查等操作
#支持瀚航、字段、正则匹配文本内容
#基本语法
sed [-opts] 'COMMAND' FILE_PATH
#选项参数
-n #编辑结果不输出
-r #支持正则匹配
sed -rin '/^#jdk/,/^CLASSPATH/d' myenv.d
-e #支持油条有分号隔开的sed命令
sed -n -e 's/usr/USER/g;s/profile/PROFILE/g' profile
-f #将命令封装在文件中使用
vim opr.sed
----------------
s/usr/USER/g;
s/profile/PROFILE/g;
----------------
sed -f opr.sed profile
-i #无-i只输出预览,可以重定向到文件或覆盖源文件
#动作说明
i #插入:向匹配行之前插入内容
#在第三行之前插入hello
sed '3ihello' 1.txt
#"unset i"上插入AABBCC
sed -i '/unset i/iAABBCC' profile
#"unset i"下插入AABBCC
sed -i '/unset i/aAABBCC' profile
#在最后一行之前插入hello
sed '$ihello' 1.txt
#在第一行之前插入空行
sed -in '1x;p;x' $ENV_DIR
#在匹配行之前插入
sed -in '/games/x;p;x' 1.txt
#在匹配之后插入
sed -in '/games/G' 1.txt
#在匹配之前和之后插入
sed -in '/games/x;p;x;G' 1.txt
#在每一行之后添加空行
sed -in G 1.txt
#在每一行之后添加两行空行
sed -in 'G;G' 1.txt
#不管有没有空行,保证只有一个空行
sed -in '/^$/d;G' 1.txt
a #追加:向匹配行后插入内容
#向第三行后面添加hello,3表示行号
sed '3ahello' 1.txt
#向内容123后面添加hello,如果文中包含多行123,则每行后面都会添加
sed '/123/ahello' 1.txt
#在最后一行添加hello
sed '$ahello' 1.txt
c #更改:更改匹配行的内容
#将文件1.txt的第一行替换为hello
sed '1chello' 1.txt
#将包含123的行替换为hello
sed '/123/hello' 1.txt
#将最后一行替换为hello
sed '$chello' 1.txt
d #删除
#删除第四行
sed '4d' 1.txt
#从第一行开始删除,每个2行就删掉一行,级删除奇数行
sed '1~2d' 1.txt
#删除1~2行
sed '1,2d' 1.txt
#删除1~2之外的所有行
sed '1,2!d' 1.txt
#删除最后一行
sed '$d' 1.txt
#删除匹配123的行
sed '/123/d' 1.txt
#删除匹配123的行到最后一行
sed '/123/,$d' 1.txt
#删除匹配123的行及其后面一行
sed '/123/,+1d' 1.txt
#删除空行
sed '/^$/d' 1.txt
#删除不匹配123或abc的行,/123\\|abc/表示匹配123或abc,!取反
sed '/123\\|abc/!d' 1.txt
#删除1~3行中,匹配内容123的行,1,3表示匹配1~3行,/123/d表示删除匹配123的行
sed '1,3/123/d' 1.txt
s #替换
#将文件中的123替换为hello,默认只替换为hello,默认只替换每行第一个123
sed 's/123/hello/' 1.txt
#将文本中所有的123都替换为hello
sed 's/123/hello/g' 1.txt
#将每行中第二个匹配的123替换为hello
sed 's/123/hello/2' 1.txt
#将每行中所有匹配的123替换为hello,并将替换后内容写入2.txt
sed -n 's/123/hellp/gpw 2.txt' 1.txt
#匹配有#号的行,替换匹配行中逗号后的所有内容为空(,.*)表示逗号后的所有内容
sed '/#/s/,.*//g' 1.txt
#替换每行中的最后两个字符为空,每个点代表一个字符,$表示匹配末尾(..$)表示匹配最后两个字符
sed 's/..$//g' 1.txt
#将1.txt文件中以#开头的行替换为空行,即注释的行(^#)表示匹配以#开头,(.*)代表所有内容
sed 's/^#.*//g' 1.txt
#先替换1.txt文件中所有注释的空行为空行,然后删除空行,替换和删除操作中间用分号隔开
sed 's/^#.*//;/^$/d' 1.txt
#将每一行中行首的数字加上一个小括号(^[0-9])表示行首是数字,&符号代表匹配的内容
sed 's/^[0-9]/(&)/' 1.txt
#替换左侧特殊字符需要转义,右侧不需要转义,\\1代表匹配的内容
sed 's/[0-9]/(\\1)/' 1.txt
#在文件的每一行后面加上“haha”字段
sed 's/$/&'haha'/' 1.txt
p #打印
= #用来打印配匹配的行的行号
n #读取下一行,遇到n时会自动跳入下一行
r,w #都和谐编辑命令,r用于将内容读入文件,w云关于将匹配聂荣写入到文件
文件传输
使用scp或rsync进行传输
#将文件推送至目标服务器
#scp
scp /root/script/* root@xxx.xxx.xxx.xxx:/root/script
#将远程服务器文件拖到本地
scp root@xxx.xxx.xxx.xxx:/root/script/* /root/script
#rsync在scp基础上提供扩展,rsync命令后需加参数,其他类似scp
rsync -r ...
以上是关于Linux-命令大全的主要内容,如果未能解决你的问题,请参考以下文章