文章目录
- linux常见命令
- 一:目录操作命令:
- 二:文件操作命令:
- 三:文件编辑命令:
- 四:用户组命令:
- 五:操作权限命令:
- 六:安装软件命令
- 六:其他常用命令
- 打印当前环境变量的值 echo $PATH
- 下载软件 yum install
- 查询所有安装软件:rpm -qa (Red Hat Package Manager - query all)
- 清屏:clear
- 查看参数命令:man + 命令
- 挂载命令:mnt[设备名称]+[挂载点]
- 切换用户:su--switch user
- 强制将内存写入硬盘:sync-
- 写入磁盘保存并退出:wq-write quit(!表示强制)
- 显示进程状态:ps--process status
- 使Shell读入指定的Shell程序文件并依次执行文件中的所有语句:source +
- 修改主机名称:hostnamectl set-hostname 名称--ctl为control
- 关闭防火墙:systemctl stop firewalld--Dynamic Firewall动态防火墙
- 永久关闭防火墙:systemctl disable firewalld
- 以名称为依据从运行进程队列中查找进程,并显示查找到的进程id:pgrep--progress rep(rep暂时不知道是什么)
- echo命令 打印
- 打印环境变量 printenv
- which命令
- ln命令--软链
- find命令
- date命令
- 管道命令(|)
- grep命令--使用正则表达式筛选
- I/O Stream命令
- cut命令
- tr命令
- touch命令
- sed命令
- awk命令
- expr命令--expersion
- df命令
- nc命令
- du命令
- rmdir命令
- kill命令
- top命令
- id命令
- free命令
- 目录全称
linux常见命令
整理一下linux的常见的命令的全称,已经忘了好一部分了
一:目录操作命令:
复制:cp–copy + 老文件 + 新文件
查看当前所在目录:pwd–Print Working Directory
改变所在目录:cd–change directory
列出文件:ls–list
- -l表示显示文件详细信息
创建目录:mkdir–make directory
- -p:可以建多层文件夹 递归创建文件夹
移动文件:mv–move + 老位置 + 新位置(同时也可以重命名)
- -i:询问覆盖
- -f:同名强制覆盖
- -b:备份旧文件
- -u:文件较新则覆盖旧文件
打印工作目录:pwd–print working directory
删除文件(删库跑路必备):rm–remove
- -rf:rm只能单删文件,加上rf可以删文件夹(递归删除)
删除目录:rmdir–remove directory
二:文件操作命令:
计算字数命令:wc
- -w:统计单词个数
- -l:统计行数
- -L:计算最长行得长度
显示文件所有内容:cat
将文件从某处输出到某处:cat 旧文件夹位置 >> 新文件夹位置
从文件开始显示文件内容:head
- -n:显示指定文件开始的n行数据
从文件结尾显示文件内容:tail
- -f:动态加载
- -n:查找
显示文件n到m行文件内容:head -m x.txt | tail -n
ps: | 作为追加行为
三:文件编辑命令:
Vi:
命令行模式:command mode
- i:从命令行模式进入插入模式 --光标停留在当前位置
- a:从命令行模式进入插入模式 --光标停留在当前位置的下一个位置
- o:从命令行模式进入插入模式 --在当前行的下一行插入一个空行
- dd:删除当前行
- xyy:x(x为复制的行数)复制几行
- p:在按了yy后粘贴
- shfit+$:到行尾
- shift+^:到行首
- shift+g:到文章尾
- ctrl+b:文章向后移动一页
- ctrl+f:文章向前移动一页
插入模式:insert mode :没有命令
底行模式:last line mode 【esc】
- :w–保存
- :wq–保存并退出
- :q–退出文件,不保存
- :q!–强制退出,不保存
- :x–x代表的是行号,光标移动到第x行
- /字符–当前文档搜索到匹配的第一个字符串
四:用户组命令:
查看当前用户 :whoami
查看当前用户所属分组名:groups 和用户名一般重名
建用户:useradd 用户名–实质是在home下建文件夹
- -u [uid]用户名:添加用户并指定UID
建用户密码:passwd +用户名
切换用户:su + 用户名
归到某个用户组: usermod -g + 归进的组 + 被归进的组
更改用户名: usermod -l + 修改后的名 + 需要修改的名
新建用户组: groupadd + 新建的组
- -g:[组gid] [组名]:添加分组并指定GID
删除用户名:userdel + 用户名
- -r 会删的更干净一点
删除组:groupdel + 组名
超级管理员对所有都有读写权限,用户不能对其他组用户拥有读写权限
用户是指操作系统的实际操作者
用户组是具有相同特征的用户的集合体
UID:用户唯一标识
GID:用户分组唯一标识
root用户:linux系统权限最高的用户
五:操作权限命令:
改变读写权限:chmod-change mode
- -R:递归更改 有子文件夹全部修改 (改文件夹的权限)
- -a:默认所有用户–u本用户–g本群组–o其他用户–chmod -u+x xx.txt
- ±rwx增减读写执行权限 (rwx 777)加赋予,减收回
- 一般w为2,r为4,x为1,rw为6,不给权限为0,rwx为7
- chmod 200 aa.txt 修改当前用户权限
- chomd 640 aa.txt 修改当前用户和同组用户权限
改变所有者:chown–change owner
远程登录linux:ssh–secure shell
- -l:指定用户
- -p:指定端口
六:安装软件命令
tar包解压:tar -zxvf
- x : 从 tar 包中把文件提取出来
- z : 表示 tar 包是被 gzip 压缩过的,所以解压时需要用 gunzip 解压
- v : 显示详细信息
- f xxx.tar.gz : 指定被处理的文件是 xxx.tar.gz
rpm格式安装
- -ivh + 软件包路径:安装软件包
- -e + 软件包全名:卸载软件包
yum在线安装
- 安装:yum -y install subversion
- 卸载:yum -y remove subversion
六:其他常用命令
打印当前环境变量的值 echo $PATH
下载软件 yum install
- -y 安装的所有问题都写yes
查询所有安装软件:rpm -qa (Red Hat Package Manager - query all)
- | grep 名称 :搜索某个具体软件
清屏:clear
查看参数命令:man + 命令
挂载命令:mnt[设备名称]+[挂载点]
切换用户:su–switch user
强制将内存写入硬盘:sync-
写入磁盘保存并退出:wq-write quit(!表示强制)
显示进程状态:ps–process status
- -au 显示较详细的资讯
- -aux 显示所有包含其他使用者的行程
使Shell读入指定的Shell程序文件并依次执行文件中的所有语句:source +
修改主机名称:hostnamectl set-hostname 名称–ctl为control
关闭防火墙:systemctl stop firewalld–Dynamic Firewall动态防火墙
永久关闭防火墙:systemctl disable firewalld
以名称为依据从运行进程队列中查找进程,并显示查找到的进程id:pgrep–progress rep(rep暂时不知道是什么)
pgrep(选项)(参数)
- -o:仅显示找到的最小(起始)进程号;
- -n:仅显示找到的最大(结束)进程号;
- -l:显示进程名称;
- -P:指定父进程号;
- -g:指定进程组;
- -t:指定开启进程的终端;
- -u:指定进程的有效用户ID。
PS:【#】代表 root权限【$】代表普通用户
echo命令 打印
echo $PATH 显示当前PATH环境变量
打印环境变量 printenv
- printenv | more 显示环境变量文件内容-空格翻页 ,翻到最后就退出
- printenv | less 显示环境变量文件内容-enter查看下一页,q退出
which命令
- which vi-----搜索命令所在地—根据profile中的$PATH
ln命令–软链
类似于windows建立桌面快捷方式
ln -s /opt/c.txt /tmp
- -s 是代号(symbolic)的意思。
这 里有两点要注意:第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;第二,ln的链接又软链接 和硬链接两种,软链接就是ln -s ,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。
find命令
- 找文件
date命令
- date +%Y-%m-%d #2017-12-23
- date +%H:%M:%S #13:29:03
- date +%I:%M:%S #12小时时间显示
- date +%c #locale的完整日期和时间
- date -u #UTC日期和时间
- date -R #RFC-2822格式
- date -Iseconds #ISO-8601格式
管道命令(|)
- printenv | less
- ls -l *.py | wc -l
把左侧程序得输出作为右侧程序的输入
grep命令–使用正则表达式筛选
- -i 忽略大小写
- -w 只匹配整个单词
- -l 只列出文件名,不列出匹配行
- -r 在当前和所有子目录中搜索
- -n 列出具有行号的匹配行
- -v 只打印没有匹配的,而匹配的反而不打印
可以组合排列,例如-ir
I/O Stream命令
- stdin:标准输入
- stdout:标准输出
- stderr:标准显示错误
- < 输入
- > 输出–覆盖
- >> 输出–追加
- 2> 覆盖
- 2>> 追加
cut命令
- -b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
- -c :以字符为单位进行分割。
- -d :自定义分隔符,默认为制表符。
- -f :与-d一起使用,指定显示哪个区域。
- cut -d ’ ’ -f 1,2 /tmp/c.txt
- 以空格为分隔符,显示第1个和第2个区域
tr命令
替换转换
tr ‘a-z’ ‘A-Z’将小写换大写,tr后加半正则
touch命令
touch负责建文件
sed命令
Linux sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处理、编辑文本文件。
- -e 以选项中指定的script来处理输入的文本文件。不对源文件修改
- -f<script文件>或–file=<script文件> 以选项中指定的script文件来处理输入的文本文件。
- -h或–help 显示帮助。
- -n或–quiet或–silent 仅显示script处理后的结果。
- -i 对原文件进行修改
动作:
- a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
- c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
- d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
- i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
- p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
- s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!
-
在文档插入
- 在首行插入
- 没有1行 echo “内容” >>
- 如果你有1行 sed -i ‘1[i|a] 你的内容’ 你的文件 i插行前 a插行
- 在文档尾部插入
- echo “你的内容” >> 你的文件
- 在指定行前或后插入数据
- sed -i ‘/你的正则行/[i|a] 你的内容’
- 在首行插入
-
在文档删除
-
删除N行\
- sed -i ‘行号d’ 你的文件 (删除一定范围的行 ‘1,5d’)
-
删除最后一行
- sed -i ‘$d’ 你的文件
-
删除匹配的行
-
sed -i ‘/^文件行开头/d’ 你的文件
-
sed -i ‘/文件行结尾$/d’ 你的文件
-
-
-
在文档中替换
- 在每行前替换
- sed -i ‘[行号]s/你的正则/替换结果/’ 你的文件
- sed -i ‘[行号]s/替换的内容/想要替换结果/’ 你的文件
- 在每行前替换
sed [-i]'1i\^\helloworld'---1为行号(1,5)i就是插入就是上面的动作,\或者为命令分割符,^这此行最前,$为此行的最后,^$为整个文档
sed -i 2a\world /tmp/c.txt
在第2行后添加一行在这行新增world
awk命令
处理文本文件的语言,是一个强大文本分析工具
默认每行以空格作为分割字符
%-8s:s为字符串,-从左边开始对齐,如果字符长度超越8个,$1输出文本中的1、4项
awk '{printf "%-8s %-10s\n",$1,$4}' log.txt
-F指定分割字符,用,进行分割符
awk -F, '{print $1,$2}' /tmp/a.txt
# 使用多个分隔符.先使用空格分割,然后对分割结果再使用","分割
awk -F '[ ,]' '{print $1,$2,$5}' /tmp/a.txt
# 输出第一项,第2项,和e变量
awk -v e=test '{print $1,$2e}' /tmp/a.txt
expr命令–expersion
expr命令可以实现数值运算、数值或字符串比较、字符串匹配、字符串提取、字符串长度计算等功能。它还具有几个特殊功能,判断变量或参数是否为整数、是否为空、是否为0等。
- expr length ‘2345’
- expr substr ‘2345’ 1 3
df命令
df命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计。
- -h 使用人类可读的格式(human)
nc命令
-kafka
du命令
显示目录或者文件所占空间:
rmdir命令
删除空目录
kill命令
- -9 + 进程号: 彻底杀死进程
top命令
动态查看当前cpu的占比
id命令
free命令
- -s 10:每隔10s看一次内存使用情况
目录全称
- /bin----Binaries----二进制文件(系统启动时需要的执行文件)
- /dev----Devices----设备文件目录
- /etc----Etcetera----操作系统的配置文件目录(防火墙,启动项)等等
- /lib----Library----图书馆
- /proc----Processes----进程
- /sbin----superuser Binaries----超级用户的二进制文件
- /tmp----Temporary----临时
- /var----Variable----变量(包含在正常操作中被改变的文件:假脱机文件,记录文件,加锁文件,临时文件和页格式化文件等)
- /usr----Unix Shared Resources----unix分享资源(程序和数据存放目录)
- /home----用户信息存放的目录,用户的默认工作目录
- /----根目录
- ~----root目录
每3个为一组。rwx代表读写执行都可以,r-x代表读执行可以
有三组分别代表,当前用户,同组用户,其他用户
开头的字母表示:
“l”是链接文件,相当于windows的快捷方式;
“b”是块设备,硬盘就是一个例子;
“c”是字符设备文件,鼠标,键盘算是道;
“d”是目录文件,相当于windows的文件夹。
在这里插入图片描述