linux学习笔记之常用命令
Linux常见命令
命令格式:命令+选项+参数
普通用户登录后命令提示符:$
root用户登录后命令提示符:#
开关机
- shutdown -h now or halt or init 0 : 立刻关机
- shutwon -h 1 : 一分钟后关机
- shutdown -h 17:00 : 预定下午5点关机
- shutdown -r now or reboot or init 6 : 立即重启
系统信息
- whoami : 查看当前使用的终端
- who or w :查看所有的终端
- date : 查看当前日期
- cal :查看日历
- uname -r :显示内核版本
- cat /proc/cpuinfo : 显示cpu信息
- cat /etc/os-release : 查看系统版本
- uptime :查看系统负载信息
系统管理
- free -h :查看系统内存
- top :动态显示cpu,内存,进程等情况,类似于Windows下的任务管理器
- iostat :可查io读写、cpu使用情况
- ps :查看进程
例:ps -aux
查看系统中所有进程 - kill :终止进程
例:kill -9 pid
强制结束pid是xx的进程
其他命令
- history :查看历史使用过的命令
- last :查看登录记录
- man :获取指令的帮助信息
- help : 获取帮助信息
防火墙
- systemctl status firewalld.service :查看防火墙状态
- systemctl stop firewalld :关闭防火墙
- systemctl start firewalld :打开防火墙
- systemctl enable firewalld :开机自动启动防火墙
- systemctl disable firewalld :开机自动关闭防火墙
- systemctl status firewalld.service :查看防火墙状态
- systemctl list-unit-files | grep firewalld : 查看防火墙是否开机自动启动
用户管理
-
useradd : 创建用户
例:useadd -g root it
创建用户it,并指定该用户主要群组为root -
userdel :删除用户
例:userdel -r zhangsan
(加上参数r可以将用户主目录也删掉) -
passwd :修改密码
-
chown :修改文件/目录所有者
参数:
-R 指定目录以及子目录下的所有文件都修改所有者
例:chown user1 /root/1.txt
将root目录下的1.txt文件所有者改为use1账号
例:chown -R user1:yewu *
将当前目录下的所有文件的拥有者设为user1,所属组改为yewu -
groupadd :创建用户组
例:groupadd it
-
groupdel : 删除用户组
例:groupdel it
-
groupmod : 修改用户组信息
例:groupmod -n guest it
将用户组的名字it修改为guest -
chgrp : 修改文件/目录的所属组
参数:
-R 用于目录,使其下所有子文件或目录递归生效
例:chgrp yewu /home/1.txt
将/home/1.txt文件的所在组修改为yewu
例:chgrp -R yewu /home
将/home目录下所有文件和目录的所在组修改为yewu -
su :切换用户
参数:
- 连带环境变量一起切换
例:su - lisi
切换到lisi账号 -
sudo :以root身份来执行命令
-
id : 显示用户的id,以及所属群组的id
硬件管理
- df :查看磁盘空间
例:df -h
- du : 查看目录大小
- fdisk -l : 查看磁盘分区信息
- mount:磁盘挂载
网络管理
- ifconfig :查看网络接口配置
- ifup 接口 :启用指定接口
- ifdown 接口 :关闭指定接口
- service network restart :重启网络服务
- route or netstat -r : 查看路由表
- netstat : 用于显示网络状态
例:netstat -a
列出所有端口
例:netstat -l
只显示监听端口
例:netstat -tuln
检查开放端口
-t 显示tcp端口
-u 显示udp端口
-l 显示监听端口,-a是查看所有端口无论状态
-n 显示端口数值
/etc/hosts :本地域名解析文件,作用同Windows下的hosts文件。
/etc/sysconfig/network-scripts/ifcfg-ens33 : 网络接口配置文件
/etc/resolv.conf :DNS客户机配置文件,用于设置DNS服务器的IP地址及DNS域名,还包含了主机的域名搜索顺序。
文件与目录管理
- cd : 切换工作目录
- cd or cd ~ : 进入当前用户的家目录
- cd .. : 返回上一级目录
- pwd :查看当前工作目录
- ls : 显示指定工作目录下的内容
- ls -a :列出目录下所有文件
- ls -l :以长格式显示,包括权限,大小,文件拥有者等信息
- file 文件或目录 :显示文件类型
- mkdir : 创建新文件夹或目录
- mkdir -p : 递归创建目录
例:mkdir -p dir1/dir2
- rmdir : 删除空目录
- touch :创建空文件
- rm :删除文件
- rm -r : 删除目录下所有文件
- rm -rf :强制删除
- mv :移动或重命名文件或目录
例:mv /home/1.txt /home/2.txt
重命名
例:mv /home/1.txt /home/user1/1.txt
移动
例:mv /home/1.txt /home/user1/2.txt
移动并且重命名 - cp :复制文件或目录
- cp -r :递归复制目录下的所有文件
- wc:统计文件的行数、字数、字节数
- ln :建立软(硬)链接
软链接:以路径形式存在,相当于Windows中的快捷方式
硬链接:以文件副本形式存在,不占用空间
例: ln 1.txt 1 创建硬链接
例: ln -s 1.txt 1 创建软链接 - chmod : 更改文件或目录权限
例:chmod ugo+r 1.txt
:将文件1.txt设为所有人可读
u:文件所有者,g:group,o:所有其他用户,a=ugo:所有用户
+:增加权限,-:去除权限
r:设置可读权限,w:设置可写权限,x: 设置可执行权限
例:chmod 777 1.txt
将1.txt设为所有用户可读写执行
7:读+写+执行,6:读+写,5:读+执行,4:只读,3:写+执行,2:只写,1:只执行,0:无 - chown : 将指定文件的拥有者改成指定的用户和组
参数:
-R 处理指定目录以及其子目录下的所有文件
-v 显示详细的处理信息
例:chown user1:it 1.txt
改变拥有者和群组
文件内容查看
- cat :用于连接文件并打印到标准输出设备上
- head :用于显示文件的开头内容。在默认情况下,head 命令显示文件的头部 10 行内容
- tail : 用于显示文件的尾部内容。在默认情况下,tail 命令显示文件的尾部 10 行内容。
- more :逐页展示长文本文件
- less :less 命令的作用与 more 十分相似,都可以用来浏览文字档案的内容,不同的是 less 命令允许用户向前或向后浏览文件,而 more 命令只能向前浏览。
查找命令
- grep :查找文件里符合条件的字符串
- find :在系统查找符合条件的文件名
压缩和解压缩
打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件
-
tar:可以把一大堆的文件和目录全部打包成一个文件
参数:
-c 建立压缩档案
-x 解压
-t 查看内容
-r 添加文件到已经压缩的文件
-u 更新原压缩包中的文件
-z 支持gzip解压文件
-j:支持bzip2解压文件
例:tar -cvf pack.tar pack
仅打包,不压缩
例:tar -zcvf pack.tar.gz pack
打包后,以 gzip 压缩
例:tar -jcvf pack.tar.bz2 pack
打包后,以bz2格式压缩
例:tar -zxvf pack.tar.gz -C /pack
解包解压.gz格式的压缩包到pack文件夹
例:tar -jxvf pack.tar.bz2 -C /pack
解包解压.bz2格式的压缩包到pack文件夹 -
gzip :只能针对普通文件进行压缩和解压缩,不支持文件夹,压缩后,扩展名为.gz
gunzip:解压
例:gzip 1.txt
压缩文件
gzip不常用。 -
zip: 用于压缩,压缩后的文件后缀名为.zip
unzip:用于解压
zip参数:
-r 递归压缩,即压缩目录
unzip参数:
-d 目录 指定解压后的文件存放目录
例:zip -r 1.zip /root
将root目录下所有文件和文件夹压缩到1.zip
例:unzip -d /home 1.zip
将1.zip解压到/home目录下
特殊字符
-
管道符 |
管道符 | 是用来连接多条命令的,将第一个命令的结果发到第二个命令
格式:命令A | 命令B
例:ls -al | less
-
> :输出重定向(覆盖原文件)
>> :追加
例:echo "hello" > 1.txt
将hello写入到1.txt(覆盖原文件)
例:ls -al >> 1.txt
将列表内容追加到1.txt的末尾