Linux重点笔记


linux方向

  1. linux运维
  2. linux嵌入式开发
  3. 在linux下做各种程序开发

应用领域

  1. 个人桌面领域
  2. 服务器领域(java c++程序部署到linux服务器)
  3. 嵌入式(运行稳定,内核小可达到几百kb,机顶盒,物联网)

CPU的架构

两种主要的cup架构:RISC(精简指令集)和CISC (复杂指令集)

Linux系统使用的是目录树架构,但我们的文件放置在磁盘分区当中,这样就引入了“mount(挂载)”

linux分区
boot分区(1GB) 交换分区(2GB)虚拟内存 根分区(剩余内存)

在Linux当中,默认root的提示字符为 # ,而一般身份使用者的提示字符 为 $

[Ctrl] + [Alt] + [F2]~[F6] 打开图形化界面
[Ctrl] + [Alt] + [F1] :图形接口桌面

重命名目录或文件

`mv aaa bbb` //将目录aaa重命名为bbb
`mv aaa.txt bbb.txt`  //将aaa文件重命名bbb

touch 新建文件

vim vi 编辑文件

cat 打开文件

cd .. 上一级
cd / 根目录
cd ~ home界面
cd ../.. 返回上两级目录

cp -a 复制文件夹
echo 重定向

tar 打包文件
zip 压缩文件
unzip 解压

useradd 创建用户

文件打包和压缩

打包和压缩的区别
打包是指将一大堆文件按或目录变成一个总的文件,压缩则是将一个大的文件通过一些压缩算法变成一个小文件
(主要是linux压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你就得先借助另外的工具将文件打包成一个包)
命令: tar/unzip/zip
tar -zcvf 打包压缩后的文件名 要打包的文件可以多个
z 调用gzip压缩命令进行压缩
c 打包文件
v 显示运行过程
f 指定文件名
-C 解压到指定路径

tar - cvf ab.tar 1.txt //将1.txt文件打包名为ab.tar
tar -zcvf ab.tar.gz 1.txt 2.txt //将1.txt 2.txt 压缩打包为ab.tar.gz
tar -zxvf abc.tar.gz -C abc/aabb //将abc.tar.gz 解压到指定的目录

查找命令

grep
grep title note.md
grep -n 显示行数
grep -i 不区分大小写
grep -ni 显示行数 不区分大小写
grep -v 显示剩余的内容

查看占用资源情况
ps -au 占用的资源
ps ef 查看所有的进程
ps -aux 查看系统中所有的进程数据
ps -ef|grep liu 查看与liu相关的进程

file命令
用于判断file命令后的文件的基本数据
file test.txt

改变文件的属性与权限

chgrp:改变文件所属群组
chown:改变文件拥有者
eg:chown root:liushuping(拥有者:群组) file.txt 改变文件的拥有者和群组
chmod:改变文件的权限
各个权限对照表r4 w2 e1
chmod -rw------ test.txt
chmod 600 test.txt
X 权限是执行的意思 表示可以进入这个目录

du 查看使用空间
du -h 以易读的方式显示空间

fdisk是linux的磁盘分区表操作工具
gcc命令
linux下执行一个可执行文件的四个步骤
预处理-编译-汇编-链接

  1. 预处理
    g++ -E test.cpp -o test.i
  2. 编译
    g++ -S test.i -o test.s
  3. 汇编
    g++ -c test.s -o test.o
  4. 链接
    g++ test.o -o test

简单的指令
g++ test.cpp -o test

shell教程
shell是一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统的内核服务。

shell脚本 可以在脚本中执行命令行 命令

新建一个shelltest.sh的脚本 chmod 修改可执行文件的权限

vim shelltest.sh

chmod 777 shelltest.sh

#!/bin/bash 
cd /opt/software 

mkdir leecode

touch file1.txt

./shelltest.sh

解释: 进入/opt/software 在其中新建一个leecode文件夹,并建立一个file1.txt文件

  1. BASH
    bash是绝大多数Linux系统默认的shell
$! /bin/bash
echo "helloworld"

#! 是一个约定的标记,告诉系统这个脚本需要什么解释器来执行
echo 像窗口输出文本
2. shell变量

  • 局部变量
  • 环境变量
  • shell变量

shell 字符串

you_name="liushuping"  
unset you_name    #删除变量
m_name="zhangsan"
str="lala\"${m_name}\"!\n"
echo ${you_name}
echo "helloworld!"
echo -e $str
~             

双引号的优点

  • 可以有变量
  • 可以出现转义字符
  1. 获取字符串的长度
    echo ${#m_name}

  2. 提取字串
    echo ${m_name:1:4}

  3. 数组

array[0]=1;
array[1]=2;
array[2]=3;
array[3]=4;
echo ${array[2]} #读取数组2的元素

echo ${#array[*]} #读取全部

shell基本运算符
expr是一款表达式计算工具,使用它能完成表达式的求值操作

  • 表达式和运算符之间要有空格,2 + 2
  • 完整的表达式要被 包含
#! /bin/bash

a=10
b=20

val= `expr $a +  $b`
echo "a+b:$val"
val=`expr $b - $a`
echo "a-b:$val"

远程登录

  1. linux服务器是开发小组共享
  2. 正式上线的项目运行在公司
    远程操作 Xshell 远程文件传输 Xftp

Xshell 远程登陆登录到Linux操作的软件

强大的安全终端模拟软件,支持ssh1 ssh2

远程登录到linux服务器

  1. VMware登录centos 打开终端
    ifconfig 查看linux 地址

ping 192.168.xxx 测试
2. 打开Xshell输入 域名地址(192.168.xxx)
用户名 密码

vim编辑器

一般模式下

命令功能
h
j
k
l
yy复制
4yy复制四行
4dd删除4行
p粘贴
/hello查找hello
n对查找切换
set nu显示行号
set nonu隐藏行号
G末行
gg首行
u撤销
:sp上下分屏
:vsp左右分屏
Ctrl + ww切屏
Ctrl + v块选择
gg=G自动缩进
set autoindent自动缩排

多文件编辑

vim name1 name2 name3

:n 编辑下一个文件

:N 编辑上一个文件

:files 列出所有文件

linux账户管理

linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统

跟使用者帐号有关的有两个非常重要的文件,一个是管理使用者 UID/GID重要参数的 /etc/passwd ,一个则是专门管理密码相关数据的 /etc/shadow /etc/group

/etc/passwd 中有几行就代表几个账号
root:x:0:0:root:/root:/bin/bash 七个字段 账号名称:密码:UID:GID:使用者信息说明栏:主文件夹:shell

添加用户

useradd -d /home/test king 添加一个名称为king在/home/test目录下
添加用户到指定的组
useradd -g zkhx lisi 将lisi添加到zkhx这个组里面

指定/修改密码

passwd 用户名

删除用户
userdel 用户名
删除用户 保留家目录
删除用户 不保留家目录
userdel -r tom

查询用户信息
id liushuping

当前登录用户
whoami

转换组
# usermod -g ali zhangsan 转换zhangsan到ali这个组

用户组
类似于角色,系统对有共性的多个用户进行统一的管理

  • 新增组
    groupadd

进程管理

每个执行的程序都叫做进程,每个进程都有PID

程序run之后 会加载到内存 就成为一个进程
程序是一个静态的概念 进程是一个动态的概念
后台(Mysql tomcat) 前台
一般系统的服务器以后台进程的方式存在,而且常驻系统中,直到关机结束

ps -aux 查看进程详细信息

a 显示当前终端的所有进程信息
u 以用户的合适显示进程信息
x 显示后台进程运行的参数
TTY 终端机号
STAT 进程状态 s 代表休眠 r代表正在运行状态

ps -ef以全格式显示当前进程
-e 全部进程 -f以全格式

终止进程 kill和killall
kill + 进程号(通过进程号终止进程)
killall + 进程名(所以子进程也将终止)
kill -9 强制中止进程

pstree 进程树
pstree -p 显示进程的pid
pstree -u 显示进程用户

服务管理

服务(service) 本质就是进程,但是运行在后台,通常都会监听某个端口,等待其他程序的请求,比如(mysql,sshd,防火墙等)守护进程

service管理指令
start stop restart reload status
centos7以后很多服务用 systemctl
查看服务名
ls -l /etc/init.d/
setup (所有系统服务)

服务运行级别(runlevel)

0:系统停机状态
2
3:多用户状态 无界面
4:
5:图形界面
开机的流程
开机->BIOS->/boot->systemd进程号为1->运行级别->运行级别
修改centos静态ip
root权限下
vim /etc/sysconfig/network-scripts/ifcfg-ens33
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N4EnrXf0-1676552811367)(./img/%E9%9D%99%E6%80%81%E5%9C%B0%E5%9D%80.png)]
将箭头的部分改成static

设置主机名
vim /etc/hostname
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yeoZnthd-1676552811370)(./img/%E5%86%85%E7%BD%91%E9%80%9A%E6%88%AA%E5%9B%BE20220708141148.png)]

配置linux主机名称映射hosts文件
vim /etc/hosts
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VIgBVcQ1-1676552811372)(./img/hosts.png)]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值