linux 基础知识

Linux 基础之命令

命令的格式

命令 选项 参数

ls -a -l -h /     
rm -r -f a.txt b.txt

–help命令帮助信息(只能查看命令 中文)

命令 --help 查看该命令的帮助信息

注意:并不是所有的命令都有帮助信息 pwd 就没有

man帮助信息(查看命令,库函数,系统调用等)

man 1 ls 从第一章节中查找ls命令

man 是 Linux 提供的一个手册,这个手册有很多个章节

第一章中放的是 命令 的帮助信息

第二章中放的是系统调用(操作系统提供的函数 open)

第三章中放的是库函数(c 库提供的函数 printf)的帮助信息

tab自动补全

输入命令的一部分,然后按 tab 键,就自动补全命令,如果有多个相同开头的命令 多按一次 tab 键,他会将所有的以你输入开头的命令提示出来

例:ifconfig 输入 if 按两下 tab 键

输入 ifc 按 tab 键

注意:目录或文件的名字 也可以自动补

历史命令

history 按条数展示开机所使用过的命令

可以按 上下键 将输入的命令调出来,敲回车执行或者修改之后敲回车执行

重定向 >

命令 > 目的文件 本来输出的数据,重定向输出到目的文件

命令 > >目的文件 本来输出的数据,重定向追加输出到目的文件末尾

edu@edu:~/work/c/day01$ ls > a.txt  //将ls显示的内容输出到a.txt
edu@edu:~/work/c/day01$ cat a.txt
a.txt
edu@edu:~/work/c/day01$ echo "hello"  //打印hello
hello
edu@edu:~/work/c/day01$ echo "hello" > a.txt //打印hello到a.txt中
edu@edu:~/work/c/day01$ cat a.txt  
hello
edu@edu:~/work/c/day01$ echo "nihao" >> a.txt 打印nihao追加到a.txt中
edu@edu:~/work/c/day01$ cat a.txt
hello
nihao

在Ubuntu中可以用gedit a.txt来打开a.txt编辑内容

管道 |

一个程序的输出 作为另外一个程序的输入

edu@edu:~/work/c/day01$ ps -A | grep ssh  
  9576 ?        00:00:00 sshd  
  查看所有进程 | 搜索ssh      ps -A的输出作为grep ssh的输入

ls

ls -a -l -h /   查看根目录下的文件

tree 以树状结构显示目录信息

系统默认没有这个命令,需要安装

sudo apt-get install tree 安装tree

出现问题:

edu@edu:~$ sudo apt-get install tree
E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?

解决方法:

edu@edu:~$ sudo rm /var/cache/apt/archives/lock
edu@edu:~$ sudo rm /var/lib/dpkg/lock
edu@edu:~$ sudo apt-get install tree
正在读取软件包列表... 完成

用法: tree

​ tree -L 层数 显示层数的文件

edu@edu:~$ tree / -L 1       //展示根目录下一层
/
├── bin
├── boot
├── cdrom
├── dev
├── etc
├── home
├── initrd.img -> boot/initrd.img-4.4.0-21-generic

clear 清屏

cd 切换目录

cd 目录     进入目录
cd .. 	   返回上一级目录
cd或者cd ~  返回家目录
cd -       返回上一次目录

pwd

显示当前工作目录的绝对路径

cat

显示文本文件内容

使用方法 :cat 文件路径或名

rm

rm 是 remove 的意思,移除 即删除的意思

注意:选项 -rf 可以没有,但是删除文件夹的时候必须带-r

-f 的意思是强制删除,即使要删除的文件或文件夹不存在也不报错

rm test.c     删除.c文件
rm -rf a      删除文件夹或文件
rm -rf /home/v/a   删除路径下文件

cp 拷贝

cp 选项 源文件或文件夹路径或者名称 目的路径

cp -r -v test.txt /home/s
将当前目录下的 test.txt 文件拷贝到/home/s 目录下
cp a.txt b.txt  
将当前目录下的a.txt备份一个b.txt

注意:cp 后面可以加选项

​ 拷贝文件夹的时候必须加-r

​ -v 显示拷贝进度

mv

是 move 是移动的意思,即剪切的意思

使用方法:

mv 选项 要剪切的文件或目录 目的路径

mv -v a.txt /home/s        将当前目录的a.txt移动到s目录下

注意: 如果源文件和目的路径在同一个路径下,相当于重命名

mv test.txt test2.txt   把test.txt 重命名为 test2.txt

mkdir

mkdir 创建文件夹

注意:如需递归创建的话,需要加-p

edu@edu:~/work/c/day01$ mkdir a/b/c -p
edu@edu:~/work/c/day01$ tree
.
├── a
│   └── b
│       └── c

touch

touch 创建文件

find

find:在指定路径下查找指定文件

用法:find 路径 -name 文件

grep

在指定文件中查找指定内容

用法:grep 查找信息 文件名 参数-n(显示行号)

edu@edu:~/work/c/day01$ grep hello a.txt -n
1:hello
3:hello word
4:word hello
在a.txt 文件中找 hello 字符串,显示出来并带行号
edu@edu:~/work/c/day01$ grep word ./* -R -n
./a.txt:3:hello word
./a.txt:4:word hello
在当前目录下的文件及其子目录下文件中查找 hello 字符
注意:必须加 -R 递归查找子目录,-n 是用来控制显示行号

在某个路径及其子目录下的所有文件中查找字符串

ln链接文件

软链接

ln 源文件名字 链接文件(快捷方式)的名字 -s

edu@edu:~/work/c/day01$ ln a.txt b -s
edu@edu:~/work/c/day01$ ls
a  a.txt  b
edu@edu:~/work/c/day01$ cat b
hello
nihao
hello word
word hello
注:b 就是 a.txt 链接文件(快捷方式)

源文件和链接文件 内容实时同步 链接文件等价于源文件的快捷方式 如果删除源文件 链接文件将失效

硬链接

ln 源文件名字 链接文件名字

源文件和链接文件 内容实时同步 链接文件是一个独立的普通文件 如果删除源文件 链接文件不受影响

tar:压缩与解压

打包和压缩的区别:
打包:将多文件 封装在一起
压缩:将多文件 封装在一起 通过特定的算法 将冗余的数据 进行删除
tar默认是打包命令,如果想用tar进行压缩 必须加选项
1、gzip格式
压缩:

tar zcvf 压缩包包名 文件 1 文件2 文件3......

解压:

tar zxvf 压缩包的名称     解压到当前文件夹
tar zxvf 压缩包的名字 -C 目的路径    解压到目的路径

2、bz2格式

压缩:

tar jcvf 压缩包包名 文件1 文件2.....

解压:

tar jxvf 压缩包的名称     解压到当前文件夹 
tar zxvf 压缩包的名字 -C 目的路径    解压到目的路径

暴力解压:

tar xvf 压缩包

vim编辑器

1、安装vim环境

sudo apt-get install vim     安装vim编辑器
sudo apt-get install ctags    安装代码补齐插件

2、配置

1.将vim-config拷入当前用户的目录下,使用samba或-共享文件夹完成

2.打开终端,执行以下命令

cd vim_configure/    进入配置文件中查看
chmod +x copy_con.sh  添加脚本可执行权限
./copy_con.sh       执行脚本

vim的3种模式:

编辑模式:对代码的修改(复制、粘贴、剪切等等)

插入模式:用户编辑代码

命令行模式:保存 退出 另存为等

vim三种模式的切换:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JIU2GoTZ-1691996157137)(C:\Users\Laptop\AppData\Roaming\Typora\typora-user-images\image-20230814141610601.png)]

末行模式常用命令:
:w 保存文件 :wq 保存文件并退出 vi :x 保存文件并退出 vi

:q! 不保存文件,强制退出 vi :w filename 另存为 filename

:行号 到多少行 :set nu 显示行号 :set nonu 不显示行号 :set hls 设置高亮 :nohls 取消高亮

:vs 文件名 左右分屏打开文件 :q 退出分屏 c trl +ww 切换分屏

:Ve 左右分屏打开当前目录 :sp 文件名 上下分屏打开文件

编辑模式:

h 光标左移 j 光标右移 k 光标上移 l光标下移

u 撤消前面多次修改。 ctl +r 反撤销
[n]x 删除(剪切)光标后 n 个字符。 3x
[n]X 删除(剪切)光标前 n 个字符。 6X
[n]dd 删除(剪切)从当前行开始的 n 行。 4dd
dw 删除(剪切)一个单词
p粘贴
[n]yy 复制从当前行开始的 n 行。 4yy
yw复制一个单词
. 执行上一次操作
shift +zz(按住 shift 同时按下两次z) 保存并退出
[n]G:将光标定位到第 n 行开始处

5G 将光标移动第 5 行开始处
G: 将光标定位到文件结束处
gg:将光标定位到文件开始处

/字符串 从光标开始处向文件尾查找字符串

n 同一方向重复上次查找命令操作

N 反方向重复上一次查找命令操作

:nohls 取消高亮 :set hls 设置高亮

ctrl +n 在插入模式下关键字补齐

gcc

gcc hello.c -o main 将源文件00_code.c生成可执行文件main
gcc hello.c 默认生成可行性文件a.out	

行。 4dd
dw 删除(剪切)一个单词
p粘贴
[n]yy 复制从当前行开始的 n 行。 4yy
yw复制一个单词
. 执行上一次操作
shift +zz(按住 shift 同时按下两次z) 保存并退出
[n]G:将光标定位到第 n 行开始处

5G 将光标移动第 5 行开始处
G: 将光标定位到文件结束处
gg:将光标定位到文件开始处

/字符串 从光标开始处向文件尾查找字符串

n 同一方向重复上次查找命令操作

N 反方向重复上一次查找命令操作

:nohls 取消高亮 :set hls 设置高亮

ctrl +n 在插入模式下关键字补齐

gcc

gcc hello.c -o main 将源文件00_code.c生成可执行文件main
gcc hello.c 默认生成可行性文件a.out	

gdb调试工具

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值