Linux 的基本指令
文章目录
1.Linux 的基本指令和开发环境(操作方式:命令行操作)
2.Linux 系统编程
3. Linux网络编程
一:Linux 的简介
Linux是 一个操作系统内核(操作系统=内核+一组配套的应用程序)
内核作用:负责对于软件资源和硬件设备的管理我们使用的是Centos 操作系统(内核为Linux)
Android (内核也为Linux),Ubuntu
Unix 高级环境编程 , Unix 网络编程
二:学习Linux 的原因
全世界市场份额最高的操作系统,任何一个程序猿都会用的操作系统
1.移动端领域(安卓)
2.服务器领域(90% 的服务器使用Linux)3
3.嵌入式领域
4.桌面领域(Linux 在桌面领域表现不佳)
三:怎么学Linux
敲代码
Linux难度远高于c/c++、数据结构
花时间 = 理论(理论+读书海报的管家年书籍) + 自己总结博客 + 多看其他相关资料 )+ 实践(多敲相关代码)
四:Linux 基本操作
ls(list):相当于windows上的文件资源管理器
ls /
ls / xxx (进入根目录下的 xxx 目录)
ls -l <==> ll (一种更详细的显示文件信息)
Tab 键快速完成补全,
快速按两下Tab显示改目录下所有可能的情况
在Linux终端和 shell中复制与粘贴不能用 Ctrl +c y与 Ctrl+v
要用Ctrl+Insert 和Shift +Insert 来完成复制与粘贴
ls / 进入当前机器的根目录(/: 根目录)
ll 的结果的第一个字母为 - 表示不同文件,为 d 表示为目录
4.1:查看本机ip
ifconfig
- 命令用途: 查看Linux机器 的 IP 地址
4.2:清屏
clear/Ctrl + l
- 命令用途:清屏
4.3:查看当前路径
pwd
查看当前目录的路径
/home/jack 是一登陆主机就进入的默认目录,这个目录就叫做jack用户的home 目录
“~” 表示home目录
4.4:cd 总结
cd …(此处是两个".") | : 返回上级目录 |
---|---|
cd . | :依然在当前目录下 |
cd /home/litao/linux/ | : 绝对路径 |
cd . . /day02/ | : 相对路径 |
cd ~ | :进入用户家目录(cd 啥都不加也是同样的效果) |
cd - | :返回最近访问目录(完成两个目录之间的快速来回切换) |
cd . . /x | :返回 上级目录并且进入到与当前目录同级的x 目录下 |
Ctrl+c
- 命令用途: 有特的功能,终止当前程序,或者重新输入一个命令
touch
- 命令用途: 创建一个新的文件
echo
命令用途: 写文件
4.5:echo总结
echo “hello” //显示到屏幕上,输出一个字符串
echo “hello” > a.txt 把字符串写入文件 a.txt中写入内容 “hello”
注意:写代码时不能用这种形式将代码写入到 .c 文件中去
cat
- 命令用途: 查看文件内容(也可以查看.c文件中的内容)
more
- 功能与cat 相似
mkdir
- 命令用途:创建目录
mkdir -p test/test1/test2
- 命令用途:递归创建文件夹
4.6:rm 的相关操作命令
rm bd.txt
- 删除 bd.txt 文件
rm -r bd
- 删除 bd 目录(递归删除)
- (目录为空也要用递归的方式删除,不然会报错)
rm -r -i bd
不仅递归删除而且还会提示你是否要删除其内部的文件/目录(先删除目录中的文件,最后删除指定的目录)
rm -rf bd
彻底删除
4.7:在Linux 操作系统下安装XXX软件
- 进入root用户模式下
su
-
切换到 root 用户(管理员用户)
该过程中需要输入管理员密码 -
使用yum 命令安装XXX软件
yum install XXXX
安装一个XXX程序
ping
- ping www.baidu.com
- 可以看到当前客户机与远端服务器的联通情况
mv的使用
mv(move)
- 移动文件/目录,也能重命名
- 移动的用法
move 1.txt b
- 移动1.txt 文件 到 b 目录
mv a/2.txt c
- 将a 目录下的 2.txt 文件移动到 c目录中 (此时用户在a,c目录的上级目录中)
- 重命名的用法
mv xxx.txt xx.txt
- 将文件名字修改成指定的名字
cp的用法
cp
- 指令用途:拷贝文件/目录
cp -r
- 拷贝目录(递归式的拷贝,若拷贝的是目录那么不加"-r" 会提示错误 )
cp xxx ../ x
- 将当前目录下的xxx文件复制到与当前目录同级的x目录下
cp ../test.txt ./
- 将上一级目录中的test.txt 文件复制到当前文件夹中
man的用法
man:能够查看命令的使用方法
进入man界面后翻屏的案件
向上翻屏 | 向下翻屏 |
---|---|
k/向上键 | j/向下键 |
可以使用
使用
按 q 退出man
less命令
- 功能
less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。
- -i 忽略搜索时的大小写
- -N 显示每行的行号
- /字符串:向下搜索“字符串”的功能
- ?字符串:向上搜索“字符串”的功能
- n:重复前一个搜索(与 / 或 ? 有关)
- N:反向重复前一个搜索(与 / 或 ? 有关)
- q:quit
head
用途:查看文件的前几行
head -n 10 yum.conf #只看yum.conf文档的前10行
- 查看文档的前几行
tail的用途
tail -n 10 yum.conf #只看yum.conf文档的后10行
命令用途:只看yum.conf文档的后10行
date:获取当前时间
- 1.获取到任意格式化的时间。
- 2.格式化时间和时间戳的换算。
- srand() 设置随机种子
- 使用格式:
- rand()
- date +%s 获取到当前时间戳
- date -d@[时间戳] 将时间戳转换成当前时间
时间戳:当前时间与1970年1月1号0时0分0秒时刻的秒数差
date +"%Y-%m-%d %H:%M:%S"
获取当前的时间
与操作系统无关的数据类型写法
-
头文件 : #include<stdint.h>
-
int8_t
-
int16_t
-
int32_t
-
int 64_t
这种类型的数字在任何平台下它的大小是固定的
开始时间是 b
计算一段程序运算时间
结束时间是 a
a - b< 0 时
时间在出现闰秒的情况下可能为负,所以记录时间要用有符号数
Cal 指令
日历的调用
find -name (按照文件名字查找文件 )
- *表示通配符,代表着任意多个字符,大部分Linux 命令都支持统配符
压缩/解压缩
zip 1.txt.zip
- 将1.txt文件压缩生成1.txt.zip 压缩包
- zip a.zip a/* -r 将a 目录递归压缩
unzip 1.txt.zip
- 将 1.txt.zip 解压
shell(普通的应用程序)
- shell 可以理解为用户和操作系统之间的桥梁
bash
- shell 是一个统称,当前系统上默认的shell 程序叫做 bash
- bash这样的程序是使用最广泛的Linux Shell 程序
权限
-
读: r
-
写: w
-
执行: x (./xxx)
-
任何一个文件具体的权限,针对不同的用户是不一样的。
-
第一组rwx 表示的是文件的拥有者的权限
-
第二组rwx 表示的是和文件拥有者同组的用户的权限
-
第三组rwx 表示的是其他用户的权限
d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件
在Linux中其实还有一个特殊的用户,凌驾于权限体系之上的–>root
chmod 指令
chmod
chmode -r xxx | 去掉xxx文件的读权限 |
---|---|
chmod +r xxxx | 增加xxx文件的读权限 |
chmod u-r xxx | 只处理文件拥有着的写权限 |
chmod u+r xxx | 只处理文件拥有者的写权限 |
chmod g-r | 操作同组用户的权限 |
chmod o-r | 操作其他用户的权限 |
chmod [三位八进制的数字] | 修改文件权限 |
chmod [9位二进制的数字] | 修改文件权限 |
二进制的 000 110 100
八进制的064
所谓的执行权限是一个程序能执行的必要条件,但不是充要条件
文件必须要满足系统可执行的格式要求文件才能够执行
rm -rf a/ //删除a 目录
rm -rf a / //删除a文件 并且删除了根目录
whereis
whereis xxx
- 能够找到某个指令xxx对应的可执行程序路径
sz
把linux 上的文件发送到 Windows上
Windows上的文件弄到Linux 上只需要拖拽到Linux上即可(Xshell上的功能)
不同平台上的可执行程序它们的格式都是不一样的,不可以混着执行
对于普通文件
1.读意味着能够查看文件的内容
2.写意味着能够修改文件内容
3.执行意味着能够运行程序
对于目录文件来说
1.读意味着能够查看目录中包含了那些文件和目录
2.写意味着能够修改目录中包含的内容(新增/删除文件)(-w 就不能在目录中创建文件或者目录)
3.执行意味着能够进入到目录中(cd)(- x 就不能进入到目录中)
只要用户拥有了目录的写权限,不管用户能否具有文件的读写权限,都能删除文件
粘滞位 : chmod +t