Linux常用命令

Linux常用命令

1、文件查看

# 获取当前所在位置
pwd

# 查看文件列表
ls 
ll

# 查看隐藏文件
ll -a

# 查看文件详细信息
stat

2、查看帮忙

#查看命令使用方式
ls ---help

3、创建文件或文件夹

# 创建空文件
touch a.txt

# 创建文件夹
mkdir test

# 自动创建父文件夹
mkdir -p a/b

4、移动文件

# 重命名文件或者文件夹
mv a.txt  b.txt

# 移动文件
mv b.txt test

5、切换目录

# 切换到指定目录
# 可以使用相对路径,也可以使用绝对路径
# .:当前目录,..:上一级目录,/:代表根目录
cd /root

6、切换用户

# 从root用户切换到普通用户,不需要密码
su qx

# 从普通用户切换到root用户,需要面膜
su root

7、删除文件

# 删除文件,需要确认
rm student.txt

# 删除文件夹,需要确认
rm -r a

# 不需要确认,删除所有
rm -rf shujia

8、复制

# 复制文件
cp student.txt student_copy.txt 

# 复制文件夹
cp -r  test/ /home/qx/

9、查看网络链接

ifconfig

10、编辑文件

# 打开文件
vim student.txt

# 命令行模式
# 主要完成功能有删除、替换、撤销。
# dd	删除所在行 *
# yyp	复制
# ddp	剪切

# 切换到插入模式
# i		在光标左侧输入正文  *
# I		在光标所在行的行首输入正文
# a		在光标右侧输入正文
# A		在光标所在行的行尾输入正文
# o		在光标所在行的下一行增添新行,光标位于新行的行首 *
# O		在光标所在行的上一行增添新行,光标位于新行的行首

#末行模式
#保存、查找。
#:wq		保存文件,退出vi编辑器 *
#:w		保存文件,但不退出vi编辑器
#:q		退出vi编辑器
#:q!		不保存文件,退出vi编辑器 *
#ZZ		保存文件,退出vi编辑器

# 查看,下一个:n
# :/男

11、修改ip地址

#切换到网卡配置目录
cd /etc/sysconfig/network-scripts/

# 修改ip
vim ifcfg-ens33 

# 删除UUID,修改IPADDR
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.233.101
PREFIX=24
GATEWAY=192.168.233.2
DNS1=192.168.233.2

# 重启网卡
systemctl restart network

12、远程复制

# 1、将本地的一个文件复制到远程主机
scp student.txt 192.168.233.102:/root

# 复制文件夹
scp -r  test/  192.168.233.102:/root

# 2、将远程主机的文件复制到本地
scp 192.168.233.102:/root/student.txt /root

13、查看文件内容

# 打印所有内容
cat student.txt

# 反过来打印
tac student.txt

# 查看前面部分
head student.txt

# 查看指定行数
head  -n 100 student.txt

# 查看文件末尾
tail student.txt

# 实时查看文件新的内容
tail -f student.txt

# 分屏显示
more student.txt

14、压缩和解压

# 1、打包不压缩
tar -cvf shujia.gz shujia/

# 2、打包同时压缩
tar -zcvf shujia.gz shujia/

# 3、解压
tar -zxvf shujia1.gz 

# 4、解压zip文件
unzip python-3.7.9-amd64.zip

15、查看文件大小

du -h

# du -a		统计全部目录及其子目录下的每个档案所占的磁盘空间
# du -h		统计全部目录及其子目录所占的磁盘空间
# du -ch <dir>	统计对应目录及子目录所占空间并添加total
# du -sh <dir>	直接统计总大小	

16、查看硬盘使用情况

df -h
fdisk -l

17、修改主机名

# 修改主机名
hostnamectl set-hostname master
hostnamectl set-hostname node1
hostnamectl set-hostname node2

# 修改hosts文件,所有节点都需要修改
vim /etc/hosts
192.168.233.101 master
192.168.233.102 node1
192.168.233.103 node2

# 修改windows系统的hosts文件
# C:\Windows\System32\drivers\etc\hosts
192.168.233.101 master
192.168.233.102 node1
192.168.233.103 node2

18、配置yum源

# 下载源文件,替换linux自动源文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

# 清除缓存
yum clean all
# 生成缓存
yum makecache

19、安装python3环境

 # 安装依赖
 yum install epel-release
 # 安装python
 yum install python3
 
 # 安装第三方python以来
 pip3 install requests -i https://pypi.mirrors.ustc.edu.cn/simple/

20、关闭防火墙

# 查看状态
systemctl status firewalld
# 禁用开机自启动
systemctl disable firewalld
# 关闭防火墙
systemctl stop firewalld

21、sudo

# 使用管理员执行命令
sudo rm -rf a.txt

22、查看进程

# 查看所有进程
ps -aux

# 查看指定名称的进程
ps -aux | grep python

23、grep

# 过滤数据
grep 男 student.txt 

# | :管道,将前面命令的结果传递给后面的命令
cat student.txt | grep 男

24、用户管理

# 1、创建用户,在home目录下会为用户创建一个家目录
useradd shujia

# 2、设置密码
passwd shujia

# 3、使用新用户链接服务器
# sshL:远程连接命令
ssh shujia@master

# 4、删除用户
userdel shujia

25、权限管理

# r:读,w:写,x:执行
# 1、增加权限
chmod o+w a.txt

# 2、删除权限
chmod o-w a.txt

# 3、二进制方式关联权限
# rw- rw- r--
# 二进制表示方式
# 110 110 100
# 十进制表示方式
# 6 6 4
# rwx rwx rwx ---> 777

chmod 777 a.txt

26、修改文件所属用户

chown qx:qx a.txt

27、kill进程

# 强制杀死进程
kill -9 9143

28、分割数据

 # -d:指定分隔符
 # -f 指定获取第一个字段
 cut -d"," -f1 student.txt 
 
 # 使用awk分割数据
 cat student.txt | awk -F"," '{print $1}'

29、输出重定向

# 覆盖
echo "shujia" > a.txt
# 追加
echo "shujia" >> a.txt

30、获取指定路径中的文件名

basename /root/shell

31、获取日期

date '+%Y%m%d'

32、免密

# 1、在master中生成密钥文件
ssh-keygen 

# 2、将密钥文件复制到远程服务器
ssh-copy-id master
ssh-copy-id node1
ssh-copy-id node2

# 3、测试
ssh root@node1

33、定时执行

# 查看当前用户的定时任务
crontab  -l

# 新疆定时任务
crontab  -e

# 删除定时任务
crontab  -r

时间格式如下:
f1 f2 f3 f4 f5 program
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推
当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其馀类推

*    *    *    *    *
-    -    -    -    -
|    |    |    |    |
|    |    |    |    +----- 星期中星期几 (0 - 6) (星期天 为0)
|    |    |    +---------- 月份 (1 - 12) 
|    |    +--------------- 一个月中的第几天 (1 - 31)
|    +-------------------- 小时 (0 - 23)
+------------------------- 分钟 (0 - 59)

1    *    *    *    *


# 使用crontab时所有需要指定路径的位置都需要使用绝对路径
# 1、每小时第58分钟执行一次
58    *    *    *    *  bash /root/bak_zip.sh /root/shell

# 2、每天执行一次
1    0    *    *    *  bash /root/bak_zip.sh /root/shell
posted @ 2024-09-12 20:49  李予桉  阅读(11)  评论(0编辑  收藏  举报