首页 > 系统相关 >linux基础

linux基础

时间:2023-08-19 16:22:26浏览次数:41  
标签:linux 基础 cd ls tarena home txt hello

1.计算机基础

美团单车

内存 - ram
读写速度快 - 运行程序 - 程序从闪存加载到[内存]中运行
掉电数据丢失
临时存储数据
闪存 - rom
读写速度慢
掉电数据不丢失 - 存储数据 - 存储信息
永久存储数据

程序运行
下载微信 - 闪存
手机 : 12 + 256
12 - 内存
256 - 闪存

操作系统中的驱动 -> 控制硬件

win + R -> cmd - command
Linux - shell终端 - 介绍 - Linux命令
Linux源码 - Linux开源 - Linux源码 - 最顶级的C语言

Linux - 模块化程度高 - 高移植性
内存管理
deepin - 深度

2.Linux基础

Linux基本概念
目录 - 文件夹
目录创建子目录和其他文件
几乎所有的计算机操作系统都是使用目录结构来组织文件
|->bin
|->boot
|->cdrom
/ -> |->sbin
...
|->etc
|->opt
|->home->tarena->workdir->fcitx->README.txt

父目录 - ..

父亲 - 儿子
主目录 - 家目录 - 创建文件/修改文件/...
/home/用户名
~ - 表示主目录

绝对路径 :
/home/tarena/workdir/fcitx/README.txt
中国/河北省/石家庄市/赵县/王庄/王二狗

第一个 / -> 根目录
后续的 / -> 目录之间的间隔

相对路径:
当前位于 /home/tarena目录下
./workdir/fcitx/README.txt
workdir/fcitx/README.txt
身处王庄
咱们村的/王二狗

3.Linux命令

clear:清屏
history:获取之前输入的命令历史记录
pwd:获取当前目录的路径
cd:目录切换命令,cd 切换到的目录路径
change directory 改变目录
例如:
cd /home/tarena 切换到/home/tarena目录下
pwd
cd .. 进入上一级目录
pwd
cd ./tarena 进入当前目录下的tarena目录里面去
pwd
cd ..
cd tarena 进入当前目录下的tarena目录里面去
pwd
cd ..
cd ~ 进入主目录 等价于 cd /home/tarena
pwd
cd / 进入根目录
pwd
cd cd后面什么也不加, 默认进入到主目录
clear 清屏
ls命令:
例如:
ls /home/tarena 查看/home/tarena目录下的内容
ls -l /home/tarena 查看/home/tarena目录里面内容的详细信息
ls /usr/include/stdio.h //查看此文件是否存在
ls -l /usr/include/stdio.h 查看此文件的详细信息
cd /home/tarena
ls //查看当前目录下的内容
ls -l //查看当前目录下内容的详细信息
ls .. //查看上一级目录的内容
ls -l .. 查看上一级目录里面内容的详细信息
cd /usr/include
ls stdio.h 查看当前目录下是否存在stdio.h文件
ls -l stdio.h 查看当前目录下stdio.h文件的详细信息
ls ~ //查看主目录里面的内容
ls -l ~ 查看主目录里面内容的详细信息
ls / 查看根目录里面的内容
ls -l / 查看根目录里面内容的详细信息

touch:
touch /home/tarena/hello.txt 在/home/tarena目录下创建空文件hello.txt
ls -l /home/tarena/hello.txt
cd /home/tarena
touch hello1.txt 在当前目录下创建空文件hello1.txt
ls -l hello1.txt
touch ~/hello2.txt 在主目录下创建空文件hello2.txt
ls -l ~/hello2.txt
注意:tarena普通用户只能访问自己的主目录/home/tarena,
可以在这个主目录下创建或者删除任何东西,其他目录不行
touch (相对/绝对/./..)路径/文件名
mkdir:make directory
mkdir /home/tarena/hello 在/home/tarena目录下创建空目录hello
ls /home/tarena/hello 查看里面的内容
cd /home/tarena/
mkdir hello1 在当前目录下创建空目录hello1
ls hello1
mkdir ~/hello2 在主目录下创建空目录hello2
ls ~/hello2
mkdir hello3/hello4/hello5 //失败了
mkdir -p hello3/hello4/hello5
ls hello3
ls hello3/hello4
ls hello3/hello4/hello5

cp:
例如:
mkdir /home/tarena/cptest/
cd /home/tarena/cptest/
touch hello.txt
mkdir hello
ls
cp hello.txt hello1.txt 拷贝hello.txt生成一个新文件hello1.txt
ls
cp -fr hello hello1 拷贝hello目录生成一个新目录hello1
ls
cp hello.txt hello 拷贝hello.txt文件到hello目录里面去
ls hello
cp -fr hello hello1 拷贝hello目录到hello1目录里面去
ls hello1
cp -fr hello1 ~/hello2 拷贝hello1目录到主目录/home/tarena目录里面去并且命名为hello2目录
ls ~

mv:
例如:
mkdir /home/tarena/mvtest
cd /home/tarena/mvtest
touch hello.txt
mkdir hello
ls
mv hello.txt hello1.txt
ls
mv hello hello1
ls
mv hello.txt hello1
ls
ls hello1
mkdir hello2
mv hello2 hello1
ls
ls hello1
mv hello1 ~/hello3

rm: 例如:把刚才创建的文件和目录统统删除
rm /home/tarena/hello.txt
cd /home/tarena/
rm -fr mvtest cptest

严重重度鄙视动不动就用sudo命令(采用管理员权限操作命令)的人!

显示文件内容命令:
例如:
cat /usr/include/stdio.h //全部无脑显示,太要命
more /usr/include/stdio.h //分屏显示,回车键往下走一行,空格键向下走一屏,q键退出
head -15 /usr/include/stdio.h 只看文件的前15行
tail -15 /usr/include/stdio.h 只看文件的后15行

​ touch /home/tarena/hello.txt
​ tail -f /home/tarena/hello.txt //此刻停止不动
​ 然后再打开一个新的终端执行:
​ echo 12345 >> /home/tarena/hello.txt,然后再去之前的终端观察有何不同
​ echo 我要成为大神 >> /home/tarena/hello.txt,然后再去之前的终端观察有何不同

按ctrl+shift+t可以在一个终端中创建另一个子终端,切换按alt+数字(终端编号)

find:
例如:
cd /home/tarena
find . -name hello.txt 在当前目录下找一个hello.txt的文件
find /usr/include -name stdio.h 到/usr/include目录下找stdio.h文件

grep:
例如:
cd /home/tarena
touch hello.txt
echo 1234 >> hello.txt
echo abcd1234 >> hello.txt
echo printf >> hello.txt
echo printf1234 >> hello.txt
cat hello.txt
grep -Rn "1234" hello.txt 在当前目录的hello.txt文件中搜索1234
grep -Rn "printf" hello.txt
grep -Rnw "printf" hello.txt
grep -Rn "1234" * 在当前目录下的所有文件中搜索1234
grep -Rn "1234" *.txt 在当前目录下所有的以.txt结尾的文件中搜索1234

tar:制作压缩包和解压缩命令
mkdir -p /home/tarena/tartest/hello
cd /home/tarena/tartest/hello
touch hello.txt
echo 1234 >> hello.txt
cd ..
ls
hello目录
tar -jcvf hello.tar.bz2 hello 将hello目录打包制作成bz2格式的压缩包
tar -zcvf hello.tar.gz hello 将hello目录打包制作成gz格式的压缩包
ls
rm -fr hello
tar -xvf hello.tar.bz2 解压缩,会生成hello目录
cat hello/hello.txt
rm -fr hello
tar -xvf hello.tar.gz 解压缩,会生成hello新目录
cat hello/hello.txt

ls 2207.* 前面名字为2207.后面无所谓 通配符

2.vim编辑器
2.1.介绍几款常见的计算机软件编程的主流编辑器
vim(上古神器),vscode(微软,免费),eclipse(java开发)等
2.2.vim编辑器使用:通过vim命令启动
格式:vim 文件名
2.3.vim三种工作模式:可视模式,编辑模式,命令行模式
可视模式:只能看不能编辑文件
编辑模式:可以编辑文件
命令行模式:可以给vim编辑器发送控制命令
2.4.三种模式切换
可视模式---->按i键/o键/a键---->编辑模式
编辑模式---->按ESC键---------->可视模式
可视模式---->按shift加:组合键->命令行模式
命令模式---->按ESC键---------->可视模式
编辑模式---->先按ESC键进入可视模式---->在按shift加:组合键--->命令行模式
练习:执行以下命令
cd /home/tarena
mkdir stdc 后续课程所有的文件和目录都放在stdc目录下,不允许乱放
cd stdc
mkdir day03
cd day03
vim helloworld.txt 练习三种模式的切换

2.5.vim命令行模式下的命令:
w:保存文件内容
q:退出vim编辑器
wq:保存文件并且退出vim编辑器
q!:不保存文件并且强制退出vim编辑器
%s/old/new/g:将文件中所有的old单词用new单词进行替换,例如:%s/张三/李四/g 结果张三被李四替换
n1,n2s/old/new/g:将文件的第n1行到第n2中所有的old用new替换
直接输入行号:让光标直接跳转到对应的行上

2.6.vim强大的快捷键(必须在可视模式下完成)
光标移动:h(左移),j(下移),k(上移),l(右移),用这四个快捷键替换四个方向键
行选中:shift+v然后移动光标
复制:y
粘贴:p
剪切:x
删除:dd
取消:u
后悔取消:ctrl+r
跳转到文件的末尾:G
跳转到文件的开头:gg
保存并且退出vim编辑器:ZZ
自动补全:前提是先进入编辑模式,然后输入某个单词或者某句话的开头一个字母或者若干个字母
然后按ctrl+n自动补全整个单词或者整句话,提高编辑的速度!

必须要进入到Linux终端中
打开虚拟机
清屏 : clear
ctrl + L

cd - change directory - 改变目录 - 改变当前所处的目录
cd + 目录
cd /home/tarena
cd ..
cd ~
cd ../..

常用 - 回到主目录
cd /home/tarena
cd ~
cd - cd什么也不加 - 回到主目录

命令后必须有空格

ls - list - 列出来

ls + 回车 - 什么也不加 - 获取当前目录中的内容

ls + 路径 - 对应路径中文件内容
相对路径 / 绝对路径

ls /home/tarena
ls /home
ls /
ls .
ls ./workdir

ls /home/tarena/a.txt
文件不存在 - 告诉你 - 文件不存在
文件存在 - 显示出对应文件

ls选项 - 给ls赋予个不同的功能 - ls 选项
-a -> 查看all所有内容
-l -> list列出每个文件的详细信息
-h -> 以kb为单位显示文件大小

终端 -
↑ 和 ↓ 键 - 获取历史命令
history - 2000条命令
tab键 - 补全
如果可以补全, 补全
cd /h (tab键) 自动补全ome/
cd /home/(tab键) 自动补全tarena/
如果不能补全, 给提示, 自己选择
cd /home/tarena(tab键) (第一个tab: 无反应; 第二次tab: 将/home/tarena/可供选择的目录显示出来, 手动自己选择)

进入/home/tarena目录, 使用tab键进入

创建新文件 - touch
cd /home/tarena

touch a.txt //等价于 touch ./a.txt
touch /home/tarena/a.txt

mkdir - make directory - 搞一个目录 - 创建一个目录
cd /home/tarena
mkdir 2208 //等价于 mkdir ./2208
mkdir /home/tarena/2208
mkdir /home/tarena/workdir/2208
假设workdir存在

创建多级目录
希望在当前目录下创建一个a目录, 在a目录里面创建b目录, 在b目录里面创建c目录
mkdir a/b/c
mkdir a/b/c -p
-p逐级创建指定的目录

标签:linux,基础,cd,ls,tarena,home,txt,hello
From: https://www.cnblogs.com/xingge7/p/17642621.html

相关文章

  • Linux网络编程(epoll函数的使用)
    (文章目录)前言本篇文章我们讲解epoll函数的使用方法,epoll相比于poll来说性能方面有所提升和改进。一、epoll概念特点讲解epoll是Linux上一种高性能的多路复用机制,用于监视大量文件描述符并在它们就绪时通知应用程序。它是在select和poll的基础上进一步优化和改进而来......
  • linux之shell脚本quickStart
    这篇文章主要参考于《跟老男孩学linux运维:Shell编程实战》,方便写shell脚本时参考,只列一些shell脚本中的容易混淆的知识点。目录1变量1.1普通变量1.2shell特殊变量1.3shell特殊扩展变量2运算符2.1空格2.2(())与[]2.3||与&&3常用命令3.1read3.2echo3.3eval3.4双......
  • linux云服务器状态上报
    统计某文件夹下文件的个数ls-l|grep “^-”|wc-l统计某文件夹下目录的个数ls-l|grep“^d”|wc-l统计文件夹下文件的个数,包括子文件夹里的。ls-lR|grep“^-”|wc-l统计文件夹下目录的个数,包括子文件夹里的。ls-lR|grep“^d”|wc-l说明:ls-l长列表输出该目录下文件信息(......
  • 部署Kafka+ZK及其日志采集实战(系统版本:linux_CentOs_7.8)
    部署ZKdockerrun-d--namezookeeper-p2181:2181-twurstmeister/zookeeper部署Kafka-p9092:9092\-eKAFKA_BROKER_ID=0\--envKAFKA_HEAP_OPTS=-Xmx256M\--envKAFKA_HEAP_OPTS=-Xms128M\-eKAFKA_ZOOKEEPER_CONNECT=[内网ip]:2181\-eKAFKA_ADVERTISED......
  • Linux 系统替换字符串常用命令
    概述在Linux系统中有时候我们需要替换某个很长的字符串或者修改某个配置参数,有些文件又隐藏目录比较深,有些场景也需要在一个目录下批量去修改文件,那应该怎么高效,快速的去完成修改呢?下面记录一下本人实施过程中的一些方法,做个备忘手稿分享以备随时查看。系统平台CentOSLinux7第......
  • Linux常用网络配置练习(2)
    打开第二台虚拟机(带图形界面的虚拟机)使用浏览器访问一些网站,然后统计这些连接处于time-wait的数量[[email protected]]#netstat-an|grepTIME_WAIT|wc-l14打开两台Linux虚拟机,然后测试它们之间的TCP性能和UDP性能,并将结果记录下来##虚拟机01[root@test-server......
  • 【Freertos基础入门】队列(queue)的使用
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档@TOC前言本系列基于stm32系列单片机来使用freerotsFreeRTOS是一个广泛使用的开源实时操作系统(RTOS),它提供了丰富的功能和特性,使嵌入式系统的开发更加简单和高效。队列是FreeRTOS中常用的一种通信机制,它用于在任务之间传......
  • 领域驱动设计(DDD):从基础代码探讨高内聚低耦合的演进
    大家好,我是付威,一名已在编码第一线奋斗了十余年的程序员。在2019年我初次接触到领域驱动设计(Domain-DrivenDesign,简称DDD)的概念。在我的探索中,我发现许多有关DDD的教程过于偏重于战略设计,充斥着许多晦涩难懂的概念,导致阅读起来相当艰难。有些教程往往只是解释了DDD的概念,而未深入......
  • linux下进程间通信
    进程间通信一、进程间通信的介绍1、进程间通信的概念进程通信(Interprocesscommunication),简称:IPC;本来进程之间是相互独立的。但是由于不同的进程之间可能要共享某些信息,所以就必须要有通讯来实现进程间的互斥和同步。比如说共享同一块内存、管道、消息队列、信号量等等就是实......
  • 【Verilog】一文带你了解verilog基础语法
    Verilog很简单,always..if..else走天下。——鲁迅前言虽说verilog很简单,简单到always..if..else走天下。但是也会有不知道怎么写代码的尴尬场景。代码也写了不少了,回过头来,再来继续学习Verilog,整理再出发!大概思路:基础语法——高级语法——Verilog题目——典型电路——常用模......