admin 管理员组

文章数量: 887021

Linux系统简单介绍:


发展史:BCPL-> New B -> C -> UNIX -> Minix -> Linux

美国贝尔实验室 1968

Linux管理硬盘的能力非常强,所以只有一个磁盘分区

/:根目录,所有文件都存储在该目录下

~:用户主目录

. :当前目录

.. :上一级目录

注意:Linux的目录结构是倒悬树型,目录的切换只能上下不能左右

/usr:存储头文件

/bin:存储系统命令文件(二进制)

/home :存储所有用户主目录文件

/media:存储多媒体文件、U盘、光盘、共享文件夹

/boot:存储系统启动相关文件

/sbin:存储超级用户命令文件

相对路径和绝对路径:

绝对路径:从根目录出发开始描述一个文件的位置

例如:cd /dev/bus/usb/001/

相对路径:从当前目录(工作目录)出发开始描述一个文件位置

例如:cd ./../../../cpu/

Linux系统命令:


常用命令:

ls 显示当前目录下有哪些文件

-a 显示所有文件

Linux中以 . 开头的都是隐藏文件

Ctrl+h 显示隐藏文件

-l 显示文件的详细信息

cd 路径名:进入某个目录

clear:清理屏幕 (Ubuntu Ctrl+L)

方向键上下可调出历史命令

pwd:获取当前位置的绝对路径

whoami:显示当前用户名

文件相关的系统命令:

touch filename:创建文件

rm filename:删除文件,不会经过回收站,要谨慎!

cat/more/head/tail filename

cat 把文件的所有内容显示到终端,适合查看内容较少的文件

more 按页显示文件内容,回车是下一行,空格是下一页,q退出

head 只显示文件开头10行

tail 只显示文件最后10行

cp src dest 复制文件

mv src dest 移动文件,也能重命名

目录文件相关(一切皆为文件):

mkdir dirname 创建空目录

mkdir -p dirname1/dirname2/......可一次性创建多层目录

rmdir dirname 删除空目录

rm -rf dirname 删除非空目录(很危险,要谨慎)

cp -rf dirname 复制目录

mv 移动目录、重命名目录

网络相关命令:

ifconfig 查看网络配置信息

windows下是ipconfig

sudo ifconfig ethx down 禁用网卡ethx

sudo ifconfig ethx up 启用网卡ethx

ping ip地址/网址 测试网络连通性,Ctrl + c退出

windows下默认只测试4次,/t可以连续测试,Ctrl + c退出

127.0.0.1本机地址,可以用来测试网卡是否正常工作

ftp ip地址

输入用户名、密码

远程登陆ftp服务器

是明文传输,不够安全、有窃听风险,但是对于公司和个人已经够用

telent ip地址

是明文传输,不够安全、有窃听风险

ssh 用户名@ip地址

通过加密方式传输数据,相对更安全

其他命令:

chmod 修改文件权限

mmm (m=r(4)+w(2)+x(1))

[自己、同组、其他]

chmod mmm filename 更改三组权限

chmod +/-rwx filename 统一增加\减少权限

注意:目录文件必须有执行权限,才可以进入

tar 压缩/解压文件

tar -zcvf 包名.tar.gz 要压缩的目录 -> 创建压缩包

tar -zxvf 包名.tar.gz 要解压的目录 -> 解压压缩包

find 位置 条件 查询内容

例如:sudo find / -name stdio.h 查询所有文件中名字叫做stdio.h的文件

grep "关键词" 文件名 筛选内容

例如:grep "printf" stdio.h 查看在stdio.h中出现printf的语句

sudo init 0 关机

sudo reboot 重启

sudo apt-get update 更新软件源

sudo apt-get upgrade 更新系统

sudo apt-get install+软件名 安装软件

man+key(命令/函数) 查询帮助手册

分章节管理内容

1.系统命令

2.系统函数

3.标准库函数

重定向、管道、通配符


重定向:把命令的执行结果输入到文件中

命令cmd > filename 如果文件存在则清空后写入,不存在则新建

命令cmd >> filename 如果文件存在则追加写入,不存在则新建

管道:相当于一根管子把两个命令连接起来,把A的命令的执行结果作为B命令的数据源

cmdA | cmd B

例如:sudo find / | grep "std" 在所有文件中,过滤文件名包含std的文件

通配符:可以进行模糊命令执行

? 替代任意一个字符

例如:rm hello.? 删除 以hello为名字的文件

* 替代任意多个字符

例如:rm hello.* (或hello**) 删除 以hello为名字的文件

例如:rm *.c 删除 以.c格式的文件

例如:sudo rm -rf /* 删除所有文件

Ubuntu系统的使用小技巧


1.Ctrl + l 清屏

2.Tab 快速自动补全命令,文件名

3.Up\Down 调出历史命令

4.Ctrl+Alt+T 打开终端

5.Ctrl+Shift+T 在同一终端下新建标签页

6.Ctrl+Alt+方向键 切换工作区

7.右Ctrl+F 全屏\退出全屏

vim文本编辑器:


可以直接在终端下采用纯键盘操作的一款文本编辑器,号称编辑器之神,可以二次升级、可以扩展

基础用法:

1.进入vim:

输入 vim file.c 文件存在则打开,否则新建并打开

2.输入i:

进入编辑模式,编写代码

3.保存退出:

按Esc键,输入ZZ保存并退出

vim的三大模式:

正常模式:(打开文件时的默认模式)

一般用于阅读文件,或者用于快捷键对文本快速修改

插入模式:

一般用于输入内容、编辑文件

行底模式:

一般用于对vim的临时配置、或者执行一些高级操作

模式之间的切换:

正常 输入 i -> 插入

插入 按 Esc -> 正常

正常 输入 : -> 行底

行底 按 Esc -> 正常

正常模式下 的常用操作:
光标移动:

h 左 j 下 k 上 l 右

gg 光标跳转到第一行

G 光标跳转到最后一行

nG 直接跳转到第n行

vim file.c+n 从第n行进入文件

n+ENTER 光标向下跳转n行

n- 光标向上跳转n行

删除操作:

dd 删除光标所在的一行代码

ndd 删除n行

x 删除一个字符

nx 删除n个字符

dw/de 删除一个连续的字符串(dw删空格,de不删)

d^ 从当前光标删除到行首

d$ 从当前光标删除到行尾

dgg 从当前光标删除到第一行

dG 从当前光标删除到最后一行

复制代码:

yy 复制一行代码

nyy 复制n行代码

p 粘贴到当前光标的下一行

P 粘贴到当前光标的上方

移动代码:

删除的内容还存储在粘贴板上,使用p\P可以粘贴出来,从而达到移动代码的效果

xp 交换两个字符

替换代码:

r 替换光标所在的一个字符

cw 替换一个连续字符串

R 进入替换模式

(insert键切换替换和插入模式)

撤销操作:

u 撤销上一次操作

Ctrl+r 取消上次的撤销操作

进入插入模式的方式:

i 在当前光标前面进入插入模式

I 光标跳转到当前行首,进入插入模式

a 在当前光标后面进入插入模式

A 光标跳转到当前行尾,进入插入模式

o 在当前行的下面插入一行空白行,进入插入模式

O 在当前行的上面插入一行空白行,进入插入模式

插入模式下的操作:

Ctrl+p/n 自动补全,变量名\函数名\宏

Ctrl+i 相当于Tab键

Ctrl+j 相当于回车键

Ctrl+c 相当于Esc键

行底模式下的操作:

:w 写入

:q 退出(不保存)

:q! 强制退出,不写入修改的数据

:wq 保存退出

:x 保存退出

:x! 强制写入文件并退出

仅当文件被修改时才写入,并更新文件修改时间,否则不会更新文件修改时间

:X 加密码

:set key=(空格) 删除密码

注意:必须:wq 才能生效

:!cmd 在vim中执行cmd系统命令

例如: :!ls

:/key 查找关键字key,n下一个,N上一个

:%s/old/new 把old关键词替换为new

:set nu 显示行号

:set nonu 取消行号

:>n n行代码向右缩进一次

:<n n行代码向左缩进一次

注意:在行底模式下对vim进行配置只能是临时有效,关闭后会失效,如果想长期有效需要对vim的配置文件(~/.vimrc)进行配置

如何配置vim:

1.vim/vi ~/.vimrc 打开配置文件

2.写完后,回到正常模式,ZZ退出

3.下次打开vim就生效了

学习使用vim的建议:

1.大概两周的适应时间

2.一招鲜吃遍天

3.vimtutor教学手册

本文标签: 第一周