Linux常规操作

计算机的历史
Alan Mathison Turing1936
《模仿游戏》
Claude Elwood Shannon1938
《继电器与开关电路的符号分析》将电路开关与布尔代数结合起来
John von Neumann
ENIAC1946电子管计算机
晶体管计算机
中小型集成电路计算机
超大规模集成电路计算机
CPU:基准速度、内核、逻辑处理器
x86架构(复杂指令集)、ARM架构(精简指令集)


Linux常用命令
查看date命令怎么用:
man date按q退出
whatis date
info date按ctrl+c退出
date --help
pwd(print working directory):用于显示当前目录的路径
ls(list directory contents):列出当前目录下的所有文件和目录
ls -a:列出所有文件,包括隐藏文件
ls -A:列出所有文件,包括隐藏文件,不包括.  ..无效信息
ls -l ==ll:详细信息
cd(change the working directory):切换到指定目录
cd ~:回到家目录
cd /:回到根目录
mkdir(make directory):创建目录
mkdir -p aa/bb/cc:创建多级目录
touch:创建空文件,修改文件的时间参数
stat test.txt
Access: 2022-10-04 15:38:57.665468778 +0800:最近一次访问它的时间
Modify: 2022-10-04 15:38:54.517446870 +0800:最近一次修改文件内容的时间
Change: 2022-10-04 15:38:54.517446870 +0800:通过某些命令修改的时间
cp(copy):复制文件或目录
cp -r aa aa_cp:复制多级文件夹
cat(concatenate):一次显示整个文件、从键盘创建一个文件、将几个文件合并成一个文件
cat > t1
i love you
^C
创建了一个名为t1的文件,内容是i love you,如果文件已存在,就会覆盖掉里面原来的内容
cat >> t2
hello world
^C
向t2文件中添加内容,不覆盖
cat t1 t2 > t3把t1,t2合并到t3文件中
cat -n t3:把t3的内容输出并显示行号
mv(move):移动文件或目录
mv t4.txt cc:将t4.txt移动到cc文件夹下
mv t3 t3.0:重命名
rm(remove):删除文件或目录
more:以全屏幕的方式按页显示文本内容more /etc/profile
less:与more类似,支持各种显示终端less /etc/profile
head:默认查看文件前10行内容-n改变行数head -n 5 /etc/passwd
tail:默认查看文件尾10行内容-f:动态显示tail -n 5 -f secure
echo:输出变量或常量到控制台
echo hello world
echo "1111\r\n5555"
echo "i love you" > t4
find:从指定目录下查找满足条件的文件或目录显示在终端上
locate:快速在整个系统中定位文件目录
mv t4 tecer.txt刚创建的文件需要更新一下缓存再locate
updatedb
locate tecer.txt
[ccc@192 root]$ find / -name "*txt"在子账户下查找会导致有些文件无权限查看
[ccc@192 root]$ find / -name "*txt" 2>/dev/null这样就可以解决了
grep:过滤查找cat /etc/passwd | grep "ccc"(|表示管道符,就是将前一条命令的输出结果作为后一条命令的输入)
-i:忽略大小写cat /etc/passwd | grep -i "ccC"
-n:行号cat /etc/passwd | grep -n -i "ccC"
tar:打包或者解压文件
tar -zcvf t1.tar.gz aa tecer.txt把aa和tecer.txt压缩成t1.tar.gz
tar -zxvf t2.tar.gz把t2.tar.gz解压到当前目录下
tar -zxvf t2.tar.gz -C hh把t2.tar.gz解压到hh目录下

vi/vim文本编辑
vim == vi plus
命令模式下dd删除整行

软件安装:
Linux软件安装方式:
Red hat系列:源代码编译安装、rpm安装、yum安装、dnf安装
Debian系列:源代码编译安装、dpkg安装、apt安装
源代码编译安装过程(redis为例):
进入redis官网,点击 install from source按步骤来
wget https://download.redis.io/redis-stable.tar.gz(也可以迅雷)
解压安装包tar -zxvf redis-stable.tar.gz
cd redis-stable/
less INSTALL查看如何安装
less README.md
make && make install安装
redis-server启动服务端
ctrl+c退出

yum(基于python2.7.5)安装:
yum search python3查看python3源
yum info python3.x86_64查看信息确认
yum install -y python3.x86_64安装
python3 --version查看版本:3.6.8
版本管理:
python --version此时系统的默认版本为python2.7.5
cd /usr/bin/
ls -l python
ls -l python2
ls -l python2.7链接到的才是真正的exe文件
alternatives版本切换命令
alternatives --list
alternatives --config版本配置
alternatives --config python此时不执行,因为没有python这个名字在list中
alternatives --install <link> <name> <path> <priority>用法
alternatives --install /usr/bin/python python /usr/bin/python2.7 1优先级为1名字为python
此时再alternatives --config python就会有
*+ 1           /usr/bin/python2.7

Enter to keep the current selection[+], or type selection number: 1
按1结束
alternatives --install /usr/bin/python python /usr/bin/python3.6 2优先级为2名字为python
此时再alternatives --config python就会有
 + 1           /usr/bin/python2.7
*  2           /usr/bin/python3.6

Enter to keep the current selection[+], or type selection number: 2
按1结束
此时就会把3.6版本确认为系统版本
再python --version
Python 3.6.8
不够需要把版本配置成python2才能使用yum(创建yum源的人去世了,没有继续更新维护)

多用户目的:划分权限
Linux是一个多用户多任务的分时操作系统
useradd、userdel、usermod、passwd
每个用户都在/etc/passwd目录下
cat /etc/passwd
root:x:0:0:root:/root:/bin/bash   
用户名:密码口令(为了安全用x代替放在了/etc/shadow,密文):用户标识号(0-65535整数、0是root、1-999是系统保留1000以后是其他用户):组标识号:描述:主目录:shell进程
用户组管理命令groupadd、groupdel、groupmod(修改属性)、newgrp切换到其他组
文件权限
chown(change owner):修改所属用户和组
chmod(change mode):修改用户权限

文件类型    属主权限    属组权限    其他用户权限
0    1  2  3    4  5  6    7  8  9
d    r  w  x    r  -  x    r  -  x
目录文件    读写执行    读写执行    读写执行

chown:更改属主或属组-R:如果是修改一个目录,加上-R会修改到目录下所有文件
chmod:r:4  w:2  x:1  数字或符号都可以
cat /etc/group所有组
-rw-r--r--
chmod 750 test.txt
-rwxr-x---
q!强制退出

网络管理
ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.221.128  netmask 255.255.255.0  broadcast 192.168.221.255
        inet6 fe80::5430:a0da:76a0:1381  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:d2:af:62  txqueuelen 1000  (Ethernet)
        RX packets 3834  bytes 280027 (273.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1693  bytes 206226 (201.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 19  base 0x2000  

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 464  bytes 40304 (39.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 464  bytes 40304 (39.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:79:8c:2a  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
ens33:网卡  inet:网址  netmask:子网掩码 ether:mac地址 RX:收到的数据包  TX:发出的数据包
做设置之前一定对虚拟机做一个快照备份,以免设置不回来了

route add -net 192.168.0.123 netmask 255.255.255.0 gw 192.168.0.1
route del -net 192.168.0.123 netmask 255.255.255.0 gw 192.168.0.1
service network restart:重启网卡
ping 8.8.8.8
telnet:主机端口
telnet 0.0.0.0 22
netstat查看网络状态
netstat -tn
192.168.221.128:22

系统状态管理
date
cal日历
w用户登录信息
uname -a系统信息
whatis man
man (1)              - an interface to the on-line reference manuals
man (1p)             - display system documentation
man (7)              - macros to format man pages
man man默认进入第一个查找手册
free:内存
du:磁盘
du -kt 10M /:把根目录下大于10M的文件打印
du -d1 -kt 1M / 2>/dev/null:d1一级目录
程序:静态文件
进程:动态程序
服务:后台响应程序
前台启动:./ping.sh
后台启动:nohup ./ping.sh &
whereis ping:whereis是针对exe的
也可以vi ping.sh
然后把ping www.baidu.com写进去
chmod +x ping.sh给予执行权限(+x直接所有用户可执行,比较危险)
./ping.sh执行
ps -ef | grep "ping"查看当前进程过滤出ping的
root      5467  3033  0 09:17 pts/0    00:00:00 ping baidu.com前台启动
ccc       5478  5427  0 09:18 pts/1    00:00:00 grep --color=auto ping
nohup ./ping.sh
nohup: ignoring input and appending output to ‘nohup.out’
本地就会有一个nohup.out文件在后台执行
tail -f nohup.out可以查看
加一个&可以在后台运行nohup ./ping.sh &
jobs
fg %+数字(1)可从后台切到其他关闭
root      6662    3033          0 09:57 pts/0    00:00:00 /bin/sh ./ping.sh
root      6666(pid)    6662(父id)     0 09:57 pts/0    00:00:00 ping www.baidu.com
也可以kill -9 6662(-9是强制执行)关闭后台进程
pstree以树的形式
systemctl status *.service查看所有服务状态
systemctl start *.service启动服务
systemctl restart *.service重启服务
systemctl stop *.service关闭服务
systemctl enable *.service开机启动服务
systemctl disable *.service停止开机启动
top(集大成者,相当于Windows下的任务管理器)
top默认3s刷新一次
按h进入帮助
shift+z设置格式
crontab -u root -r        删除任务
crontab -u root date1.cron    把文件添加到某个用户
crontab -u root -l        列举任务
crontab -u root -e        编辑任务
/etc/crontab管理文件,系统任务调度的配置文件
/var/spool/cron/每个用户包括root的crontab任务
/etc/cron.d/存放任何要执行的crontab文件或 脚本
crontab -u root -e
*/1 * * * * /root/date.sh每一分钟执行一次date.sh的命令

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

run sun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值