linux
ubuntu
redhat
一、linux系统
1.特点
linux 多用户 多任务
多用户:同时又多个用户访问系统
多任务:某个时刻有多个程序运行
2.终端:用户和linux交互界面
打开终端:
(1)双击
(2)右键-终端(新终端)
(3)ctrl+alt+t
关闭终端:ctrl+shift+q
3.ls list缩写 列出某个目录(文件夹)下所有的文件
白色:普通文件 a.c
蓝色:目录
绿色:可执行文件
红褐色:压缩文件
4.cd 进入一个目录
~ 工作目录(每个用户都有一个自己的目录 叫工作目录)
linux@ubuntu:~$ cd Desktop //进入Desktop目录
linux@ubuntu:~/Desktop$ ls
linux@ubuntu:~/Desktop$ cd //进入工作目录
linux@ubuntu:~$
linux@ubuntu:~$ cd Desktop
linux@ubuntu:~/Desktop$ cd ~ //进入工作目录
linux@ubuntu:~$
cd .. //进入上一级目录
linux@ubuntu:~$ cd ..
linux@ubuntu:/home$
cd 小练习:
cd Desktop
cd
cd /
cd bin
cd ..
cd ~
ls
5.linux 一切皆文件
linux@ubuntu:/$ nautilus / 图形化查看某个目录
目录结构
/ 根目录
home linux系统上各个普通用户的家目录(主目录) 子目录以该用户命名
root root用户的家目录(主目录)
bin 二进制文件 所有用户都可以执行(常用命令文件 )
sbin root用户所使用命令文件
etc 配置文件
dev 设备文件
lib 库文件
mnt 挂载服务
media 为光盘 u盘等提供默认挂载目录
opt 某些第三方应用程序安装软件目录
proc 系统相关信息
boot linux引导装载程序文件
var 该目录及其子目录存放经常变化的数据 例如:日志 数据库文件
usr 存放不经常改变的数据、应用程序 例如:帮助手册 壁纸
tmp 临时文件
6.路径
绝对路径:以根为起点路径 是完整的路径名称
linux@ubuntu:/$ cd /home/linux
linux@ubuntu:~$ cd /home
linux@ubuntu:/home$
相对路径:相对于当前目录下
linux@ubuntu:/home$ cd linux
linux@ubuntu:~$
相对路径:
cd .. //上一级目录
cd . //表示当前目录
linux@ubuntu:/home$ cd ./linux //./可以省略
cd - 返回上一次位置 并打印出绝对路径
linux@ubuntu:~$ cd /home
linux@ubuntu:/home$ cd /bin
linux@ubuntu:/bin$ cd -
/home
7.
pwd 我在哪 显示当前位置的绝对路径
8.~ 用户工作目录 它的绝对路径 /home/linux
cd ~ -->cd /home/linux
9.快捷键:
上下键 调出历史命令
cd Tab+Doc 补齐文件名
ifc+Tab 补齐命令
ctrl+shift+t 打开标签
ctrl+shift+w 关闭标签
练习:
(1)切换到/usr/share/man目录
(2)切换到/usr目录
(3)切换到/usr/share/doc
(4)切回/usr目录
(5)切回到用户的工作目录
linux@ubuntu:~$ cd /usr/share/man
linux@ubuntu:/usr/share/man$ cd ../..
linux@ubuntu:/usr$ cd ./share/doc
linux@ubuntu:/usr/share/doc$ cd -
/usr
linux@ubuntu:/usr$ cd /home/linux
linux@ubuntu:~$
10.帮助查看(查看命名帮助文件 查看函数帮助文件)
1.命令
man ls //查看ls帮助信息 q退出
info ls //
ls --help
2.查看函数
man 1 命令
man 2 系统调用函数
man 3 库函数
linux@ubuntu:~$ man 1 sleep
linux@ubuntu:~$ man 3 sleep
3.touch 创建文件(文本文件)
linux@ubuntu:~$ touch ./hahaha.c
linux@ubuntu:~$ touch /home/hi
touch: 无法创建"/home/hi": 权限不够
注意:普通用户只能在工作目录下创建文件
4.mv move 移动或者 移动并重命名
(1)移动 mv 源文件 目标路径
linux@ubuntu:~$ mv hahaha.c Desktop/
linux@ubuntu:~$ ls
(2)移动并重命名 mv 源文件 目标文件名
linux@ubuntu:~$ touch heihei
linux@ubuntu:~$ ls
linux@ubuntu:~$ mv heihei Desktop/houhou
linux@ubuntu:~$ cd Desktop/
5.mkdir make directory 创建目录
linux@ubuntu:~$ mkdir xiaoming
linux@ubuntu:~$ ls
linux@ubuntu:~$ mkdir -p a/b/c/d/e //创建多级目录
练习:
在用户的工作目录下创建smile目录
在smile中创建文件file.txt
将file.txt重命名为heihei.txt
将heihei.txt 移动到Desktop下
回到工作目录
linux@ubuntu:~$ mkdir smile
linux@ubuntu:~$ touch ./smile/heihei.txt
linux@ubuntu:~$ mv smile/heihei.txt smile/file.txt
linux@ubuntu:~$ cd smile/
linux@ubuntu:~/smile$ ls
file.txt
linux@ubuntu:~/smile$ mv file.txt /home/linux/Desktop
6.cp copy缩写
(1)拷贝 cp 源文件 目的
linux@ubuntu:~$ cp a.c smile
linux@ubuntu:~$ cd smile/
linux@ubuntu:~/smile$ ls
a.c
linux@ubuntu:~/smile$
(2)拷贝并重命名 cp 源文件 目的文件
linux@ubuntu:~$ cp a.c smile/b.c
7.rm remove删除一个文件
linux@ubuntu:~$ rm a.c
linux@ubuntu:~$ ls
rm -r 删除目录
linux@ubuntu:~$ rm -r smile
linux@ubuntu:~$ ls
rm -rf //强制删除
练习:
创建目录/home/linux/source
在source下创建source1-source5共5个文件
拷贝source1到/home/linux
拷贝source2到/home/linux并重命名为newsource2
将source3重命名为s3
删除source4
删除source
linux@ubuntu:~$ mkdir /home/linux/source
linux@ubuntu:~$ touch /home/linux/source/source{1,2,3,4,5} //同时创建5个文件
linux@ubuntu:~$ ls /home/linux/source
source1 source2 source3 source4 source5
linux@ubuntu:~$ cp /home/linux/source/source1 /home/linux
linux@ubuntu:~$ ls /home/linux //ls 目录 显示目录下的文件
linux@ubuntu:~$ cp /home/linux/source/source2 /home/linux/newsource2
linux@ubuntu:~$ ls
linux@ubuntu:~$ mv /home/linux/source/source3 /home/linux/source/s3
linux@ubuntu:~$ rm /home/linux/source/source4
linux@ubuntu:~$ rm -r source
8.文件查看
(1)cat 一般查看短小文件
linux@ubuntu:~$ cat good.c
linux@ubuntu:~$ cat -n good.c //cat -n 查看文件时显示行号
(2)more 可以实现分页查看
enter 向下翻一行
space 向下翻一页
q 退出
more stdio.h
(3)less 可以实现分页 支持向下向上翻 支持搜索
上下键分别上下翻一行
pageup 向上翻一页
pagedown 向下翻一页
less stdio.h //查看stdio.h
搜索:
/关键字 N/n 跳到关键字 按q退出
(4)head 查看文件开头部分 默认前10行
linux@ubuntu:~$ head /etc/passwd
linux@ubuntu:~$ head -2 /etc/passwd //查看前两行 head -行数 查看前几行
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
(5)tail 查看文件的末尾部分 默认后10行
linux@ubuntu:~$ tail /etc/passwd
linux@ubuntu:~$ tail -1 /etc/passwd
9.linux文本编辑器
gedit 可视化文本编辑器
emacs
vi linux默认安装编辑器
vi 编辑器有三种模式:命令行模式 插入模式 末行模式
(1)命令行模式:控制屏幕光标移动 删除 进入其他两种模式
命令行模式进入插入模式:
a 在光标的下一个位置插入
i 在光标的前一个位置插入
o 在光标所在行的下一行 新建一行插入
I 在光标所在行的行首插入
O 在光标所在行的上一行 新建一行插入
A 在光标所在行的行尾插入
Home 快速跳到行首
End 快速跳到行尾
gg 跳到首行
G 跳到最后一行
5gg 跳到第5行
yy 复制
3yy 从光标所在行开始复制3行
yG 复制从光标所在行到最后一行
p 粘贴到光标下一行
dd 剪切 删除
dG 剪切或删除从光标所在行到最后一行
3dd 剪切或删除3行
x 删除光标所在位置的字符
X 删除光标前边的字符
u 撤销
插入模式:切到其他两种模式
进入命令行模式:ESC--->进入末行模式:shift+;
末行模式:
set nonu
vsp a.c 分屏显示
w
q
wq
w!
q!
wq!
搜索:
/关键字 n/N 跳到下一个关键字
替换:
s/arr/brr 用brr替换arr 替换光标所在行第一个匹配到的
s/arr/brr/g 用brr替换arr 替换光标所在行所有匹配到的
15,20s/good/haha/g 用haha替换good 替换15到20行所有匹配到的
15,$s/apple/banana/g 用banana替换apple 替换15行到文件结尾所有匹配到的
%s/banana/apple/g 全篇替换
练习:
(1)复制/usr/include/stdio.h 到/home/linux
cp /usr/include/stdio.h /home/linux
(2)复制文件从第5行开始的4行内容 将其粘贴到最后一行
5gg-4yy-G-p
(3)删除文件的第16行
16gg-dd
(4)删除文件的前10行
gg-10dd
(5)将剩余文件的第5行剪切到第10行下面
5gg-dd-10gg-p
(6)将剩余文件的第5行到第8行的全部s替换为SS
shift+;
5,8s/s/SS/g
(7)复制文件的全部内容将其粘贴到文件的最后一行下面
gg-yG-G-p
(8)保存退出
wq
二、
1.ls续
(1)ls 目录 显示目录内容
(2)ls -a all 所有文件 包括隐藏文件
.开头的文件 是隐藏文件
(3)ls -l 显示文件详细信息
linux@ubuntu:~$ ls -l hello.c
-rw-rw-r-- 1 linux linux 248 6月 12 18:46 hello.c
文件属性 文件所有者 所属组 文件大小 文件创建的时间 文件名
-
文件类型
d 目录文件
- 普通文件
l 链接文件
c 字符设备文件
b 块设备文件
s 套接字文件
p 管道文件
rw-rw-r-- 文件操作权限
rw- rw- r--
所有者 所属组 其他用户
r 读
w 写
x 执行
- 没有对应权限
第一个 rw- 表示文件所有者对文件的访问权限 只能读写
第二个 rw- 表示文件所属组对文件的访问权限 只能读写
第三个 r-- 表示其他用户对文件的访问权限 只读
(4)chmod 修改文件的访问权限
u 表示所有者
g 表示所属组
o 表示其他用户
a 代表u+g+o
+ 表示添加权限
- 表示去掉权限
linux@ubuntu:~$ ls -l hello.c
-rw-rw-r-- 1 linux linux 254 7月 28 00:49 hello.c
linux@ubuntu:~$ chmod u+x hello.c
linux@ubuntu:~$ ls -l hello.c
-rwxrw-r-- 1 linux linux 254 7月 28 00:49 hello.c
linux@ubuntu:~$ chmod u-x hello.c
linux@ubuntu:~$ ls -l hello.c
-rw-rw-r-- 1 linux linux 254 7月 28 00:49 hello.c
linux@ubuntu:~$ chmod g-r hello.c
linux@ubuntu:~$ ls -l hello.c
-rw--w-r-- 1 linux linux 254 7月 28 00:49 hello.c
linux@ubuntu:~$ chmod o+wx hello.c
linux@ubuntu:~$ ls -l hello.c
-rw--w-rwx 1 linux linux 254 7月 28 00:49 hello.c
linux@ubuntu:~$ chmod a+x hello.c
linux@ubuntu:~$ ls -l hello.c
三、用户管理
1.linux有两种类型用户
超级用户 -管理员 --root 拥有所有的权限(删除 安装 )
普通用户(不可以安装软件 不可以关机 不可以在除了工作目录外的任何目录创建文件)
2.查看当前登录的用户
whoami
3.如何切换到管理员
(1)默认管理员没开通 如何开通?
linux@ubuntu:~$ sudo passwd root //修改root用户密码
[sudo] password for linux:
输入新的 UNIX 密码:
重新输入新的 UNIX 密码:
(2)su 用户名 切换用户
linux@ubuntu:~$ su root
密码:
root@ubuntu:/home/linux# cd ~
root@ubuntu:~# pwd
/root
root@ubuntu:~#
4.root@ubuntu:~# 当前登录的用户+@+计算机名+:+所在路径+ # 表示超级用户 $普通用户
5.切回账号:
su 用户名
exit
6.sudo 表示临时使用管理员权限 在执行某个命令时 使用管理员权限
linux@ubuntu:~$ sudo touch /heihei
[sudo] password for linux:
linux@ubuntu:~$ ls /
作业1:
定义关于仓库结构体
包含成员:仓库号 环境信息(温度 湿度 光照) 货物信息(货物类型 货物编号)
作业2:多个仓库
作业3:打印9*9乘法表
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
。。。。。
选择题-填空-编程