Linux基本操作

打开终端:ctrl+alt+t
清屏:ctrl+l
在终端在退出锁定:ctrl+c


目录:又称为文件夹,是包含所有的文件
目录创建规则:
1、大小是256
2、不能包含特殊字符
3、见名知义
路径:是反应目录和文件的位置
[绝对位置]文件位置:windows:盘符:文件夹文件.avi
linux: /home/主文件夹/0520/day01/a

[相对位置]当前目录所在位置为 0520 ./day01/a
day03 ../day01/a

.c...1jibiiji.txt
..c...1bijiiji.txta


文件:在计算机中一切皆文件
在windows中区分文件可以通过扩展名来区分 .exe .txt .ppt
在Linux中文件没有扩展名 可以通过颜色区分 也可以通过命令来区分 file 文件名

在Linux中文件分为:
普通文件
目录文件
设备文件 字符设备文件 块设备文件
管道文件
链接文件

文件权限:
读【r】read
写【w】write
执行【x】execute

d rwx rwx rwx 分为三组
d 目录 成为文件类型
第一组:文件的所属用户
第二组:文件的所属组
第三组:其他用户

Linux命令:
格式 :命令 选项 参数

帮助:
命令 --help
man 命令

快捷键:
tab 智能补全 如果没有重复的选项 自动补全 如果有重复项 按两下tab 显示列表
↑ ↓ 历史记录 查看之前敲过的命令 关闭后还会提示 但是同时打开两个终端 相互不会提示

常用命令:
ls 【查看文件】
格式:
ls -a 查看所有文件包含隐藏文件
ls -l 以列表形式查看文件,不包含隐藏文件
ls -lh 以列表形式查看文件,不包含隐藏文件 ,按照1024倍数显示{KB MB GB}
ls -all以列表形式查看文件,包含隐藏文件 快捷方式【ll】

通配符:
【*】 匹配任意多个字符【0-256】 a* 一个以上字符 256一下
【?】 匹配任意一个字符 a? 两个字符
【[a-z]】 区间法 匹配a到z的所有字符 只能确定一个字符
【[abcde]】 穷举法 权值法 匹配abcde的所有字符 只能确定一个字符


切换工作目录:
cd 【切换工作目录】cd 目录
格式:
cd 切换到用户主目录
cd ~ 切换到当前用户的主目录
cd .. 切换到上级目录
cd . 切换到当前目录
cd - 切换到上一次目录


创建目录:
mkdir 目录名 -p 递归创建
rmdir 目录名 目录一定是空的
rm 文件 -i询问 -r 递归传出


链接:
格式:
ln 源文件 链接文件 硬链接
ln -s 源文件 链接文件 软连接
硬链接文件占磁盘空间 但是删除源文件不会影响硬链接文件
软链接文件不占磁盘空间 但是删除源文件会影响软链接文件

硬链接和拷贝(复制)区别 无论你修改了哪一个链接之后的文件 两个文件都会改变 保持一致 但是拷贝不会
1、改变软链接文件就是相当于间接的改变了源文件
2、查看文件时默认链接数为1 如果有链接一次递增
3、如果创建的软链接文件和源文件在不同的目录下,需要使用绝对路径


文本搜索:
grep '搜索内容' 文件名
-n 显示行号
-v 反选
-i 忽略大小写

通配符:
【^a】以a为起始的字符搜索文件
【a$】以a为结尾的字符搜索文件
【.】 配匹任意一个非换行的字符
【*】匹配任意字符(大于0的整数)

文件搜索:
find 目录 参数 文件名(可以使用通配符)
-name 文件名
-size 大小
-perm rwx


归档:
tar -cvf 归档文件名.tar 文件1 文件2 目录1 目录2
解归档:
tar -xvf 归档文件名.tar -C 路径

压缩:
gzip 归档文件名.tar 生成了一个文件 归档文件名.tar.gz 文件大小小于归档文件大小 归档文件名.tar不存在了
解压缩:
gzip -d 归档文件名.tar.gz 生成了一个文件 归档文件名.tar


一步归档压缩:
tar -czvf 文件名.tar.gz 文件1 文件2 目录1 目录2

一步解归档压缩:
tar -xzvf 文件名.tar.gz -C 路径

bzip2压缩:
tar -cjvf 文件名.tar.bz2 文件1 文件2 目录1 目录2
bzip2解压缩:
tar -xjvf 文件名.tar.bz2 -C 路径

zip压缩:
zip 文件名 文件1 文件2 目录1 目录2 生成一个文件为:文件名.zip
unzip解压缩:
unzip 文件名.zip -C 路径

用户权限:
su 切换用户账户
格式:
【su 用户名 】
【su】 切换到root
【su root】 切换到root
【su -】 切换到root用户 同时切换到root目录

添加组:
【groupadd 组名】 添加组 需要用户权限
删除组
【groupdel 组名】 删除组 需要用户权限和清空组成员
修改用户所在组:
【usermod -g 组名 用户名1 用户名2】需要用户权限

添加用户:
【useradd -d /home/目录 用户名 -g 组名 -m】新建用户 设置用户主目录和设置组名 并自动创建 需要用户权限

设置密码:
【passwd 用户名】设置密码 需要用户权限

删除用户:
【userdel -r 用户名】 删除用户递归删除该用户所有文件 需要用户权限

修改文件权限:
字符法格式:【chmod -u|g|o|a +|- rwc 文件1 文件2】
d rwx r-x r-x
u user +|- rwx
g group +|- rwx
o other +|- rwx
a all +|- rwx
chmod u + x
数字法格式:
r w x
0 0 0 --- 0
0 0 1 --x 1
0 1 0 -w- 2
0 1 1 -wx 3
1 0 0 r-- 4
1 0 1 r-x 5
1 1 0 rw- 6
1 1 1 rwx 7


【chmod 372 文件名1 文件名2】

rwx rwx rwx
421 421 421

rw- r-x r--

-wx rwx -w-

r--------

rw- rw- r--
chmod 6 6 4 a.txt


修改文件所有者:
【chown 用户名 文件1 文件2 目录1 目录2】需要用户权限
修改文件组:
【chgrp 组名 文件1 文件2 目录1 目录2】需要用户权限


编辑器:
VI编辑器有两个模式:文本编辑模式 命令行处理模式
进入编辑器:
1、vi 文件名 2、vim
操作编辑器:
【i】在光标当前位置插入
【a】在光标右侧位置插入
【o】在光标下一行位置开启新的一行插入
【O】在光标上一行位置开启新的一行插入
【I】在光标当前行行首插入
【A】在光标当前行行尾插入

退出编辑器:
【ZZ】保存退出
【:wq】保存退出
【:x】保存退出
【:w 文件名】保存到指定文件中
【:q】 保存退出 针对未修改的文件 注意:未保存文件会提示 无法退出
【:q!】 强制退出 退出 不保存
【:! 命令】暂时离开vi 执行其他命令

案例:
打开vi 源文件.c
进入插入模式
#include <stdio.h>

int main(void)
{
printf("hello world! ");
return 0;
}
退出保存

编译程序
gcc -o 可执行程序 源文件.c

./可执行程序

编辑器操作:
【[n]x】删除光标位置后面n个字符
【[n]X】删除光标位置前面n个字符
【D】删除光标所在位置后面到行尾的所有字符
【[n]dd】删除光标所在行及下面n行 剪切
【p】在光标下一行粘贴
【[n]yy】复制光标所在行及下面n行
【dG】删除光标所在行到文件结尾
【J】合并光标所在行和下一行 中间用空格连接
【.】执行上一次命令行操作
【u】撤销


编辑器定位:
【ctrl+b】回滚 行号减小
【ctrl+f】前滚 行号增加
【gg】定位在文件第一行行首
【G】定位在文件最后一行行首
【:$】定位在文件最后一行行首
【[n]G | [n]gg】定位在m行
注意:在查找一些特殊含义的字符时,需要加上转义字符
【/内容】查找
【n】查找下一个
【N】查找上一个
【?】查找上一次的所搜内容
【/^word】 查找以word开头的内容
【/word$】 查找以word结尾的内容
【/.】查找任意一个字符
【/*】查找任意多个字符

编辑器替换:
【r】替换光标所在位置的字符
【:r 文件名】在光标当前行的下一行插入一个文件 每次添加只能添加一个文件
【:s/a/b/g】将光标所在行的a替换为b
【:g/a/s//b/g】将文件中所有a替换为b
【:n1,n2s/a/b/g】将行区间n1到n2的行中所有的a替换为b

编辑器设置:
【:set ic】搜索时不区分大小写
【:set noic】搜索时区分大小写

远程连接服务器:
linux设置:
1、右击网络设置,在打开对话框中选择网络适配器
2、在网络连接中选择网络桥接模式并选择复制物理网络地址
3、重启linux服务器
4、获取ip地址【ifconfig】
windows设置:
1、安装中文版Xshell5
2、打开XShell选择文件,在下拉列表中选择新建
3、在弹出对话框中设置用户名和ip地址
4、验证身份需要输入linux服务器的用户名和密码

远程文件传输:
1、在窗口菜单中选择新建文件传输
2、在打开sftp对话框中设置路径linux路径 同时设置windows路径 命令时lcd 在打开对话框中设置路径
3、文件传输 put上传 将windows中的文件上传到Linux服务器中 get 下载将Linux中的文件下载到windows中


linux服务器搭建:
1、上传文件 http.tar.gz
2、解压文件 tar -xzvf http.tar.gz 解压完成之后生成一个目录http
3、进入http目录 编译程序,sudo make
4、启动服务器 sudo ./myhttp start stop
5、ifconfig获取Linux服务器地址

手写C语言版网页:
1、进入http目录
2、新建一个文件名为XXX.c
3、gcc -o XXX.cgi XXX.c
4、重启服务器

原文地址:https://www.cnblogs.com/mmc9527/p/10479198.html