复习:
ls 查看
ls -a
-l
文件类型:
普通
链接
字符设备
块设备
套接字管道
目录文件
cd 进入目录
绝对路径:以根 /
相对路径:相对当前
cd .
cd
cd ..
cd -
目录结构:
/
home
root
bin
sbin
etc
dev
lib
mnt
media
opt
proc
boot
var
usr
tmp
ctrl+alt+t
TAB+
man
1
2
3
touch a.c
pwd
mkdir
mkdir -p
gedit
vi
cp
cp 源文件 目标/目标文件
mv 源文件 目标/目标文件
rm
rm -r
rm -rf
cat
more
less
head
tail
vi
命令行模式 插入模式 末行模式
命令行模式:
yy 3yy yG
p
dd
ndd
dG
x
u
home/end
gg
G
5gg
末行模式
q
w
!
vsp
set nonu
/关键字 N/n
替换
s/aa/bb/g
1,5s/aa/bb/g
1,$s/aa/bb/g
%s/aa/bb/g
普通用户
超级用户
su 用户名
sudo passwd root
一、linux命令
1.chmod 修改文件的访问权限 续
-rw-rw-r-- 1 linux linux 3911 7月 27 03:33 100.c
chmod a+x 100.c
rwx rwx rwx
111 111 111
7 7 7
r-- r-- r--
chmod 777 100.c
chmod 444 100.c //将100.c 修改访问权限为所有用户只读
2.掩码:创建文件时候掩掉一些权限
(1)查看掩码
linux@ubuntu:~/180705$ umask
0002
第一个0表示八进制
002 所有者 所属组 其他用户
(2)修改掩码
linux@ubuntu:~/180705$ umask 020
linux@ubuntu:~/180705$ mkdir happy
linux@ubuntu:~/180705$ ls -l
注意:
创建目录最大权限是777
创建普通文件最大权限666
3. 压缩
(1)tar.gz 用gzip格式进行压缩 压缩速度快 压缩率低
tar cvfz
c 表示创建压缩文件
v 表示显示详细的压缩过程
f 将多个文件打包压缩成一个压缩文件
z 用gzip格式进行压缩
linux@ubuntu:~/180705$ touch a.c b.c
linux@ubuntu:~/180705$ tar cvfz my.tar.gz a.c b.c //将a.c b.c压缩为my.tar.gz
a.c
b.c
linux@ubuntu:~/180705$ tar cvfz /home/linux/my.tar.gz a.c b.c
a.c
b.c
解压:
tar xvfz //x表示解压
linux@ubuntu:~/180705$ tar xvfz my.tar.gz
a.c
b.c
linux@ubuntu:~/180705$ tar xvfz my.tar.gz -C doudou //-C 指定解压文件存放的路径
a.c
b.c
(2)tar.bz2 用biz2格式进行压缩 压缩速度慢 压缩率高
tar cvfj //j表示用biz2格式压缩
linux@ubuntu:~/180705$ tar cvfj my.tar.bz2 doudou
doudou/
doudou/b.c
doudou/a.c
linux@ubuntu:~/180705$ sudo tar xvfj my.tar.bz2 -C /home
4.链接文件
(1)硬链接
ln 创建硬链接文件
ln 源文件 链接文件
linux@ubuntu:~/180705$ ls -l x
-rw-rw-r-- 1 linux linux 18 7月 30 19:32 x
linux@ubuntu:~/180705$ ln x file
linux@ubuntu:~/180705$ cat x
1234
5678
9
99999
linux@ubuntu:~/180705$ cat file//链接文件内容同源文件一样
1234
5678
9
99999
a、源文件与链接文件内容同步
b、源文件删除 链接文件还在
c、硬链接相当于备份
(2)软链接文件
ln -s 源文件 链接文件 创建软链接文件
linux@ubuntu:~/180705$ ln -s x newfile
a、源文件与链接文件内容同步
b、源文件删除 链接文件不可用
c、软链接相当于快捷方式
5.进程
(1)linux下独立运行的程序是进程
ps aux 查看所有用户的所有进程详细信息
kill -l 查看信号列表
kill 信号 进程编号 //杀死进程
Kill -2 进程编号 //ctrl+c
kill -9 进程编号 //强制杀死进程
kill 进程编号 //默认发送信号15 -->kill -15 进程编号
练习:编写一个不断运行的小程序 使用kill命令 杀死它
6.管道
(1)管道符号 | 作用:将一个命令的输出作为另一个命令的输入
ps aux|grep bash
将ps命令的输出给grep命令 grep命令在ps命令的输出中找bash
linux@ubuntu:~$ ps aux|grep bash
练习:用管道在/etc/passwd中查找linux关键字
linux@ubuntu:~$ cat /etc/passwd|grep linux
linux:x:1000:1000:linux,,,:/home/linux:/bin/bash
练习:查看/etc中是否有文件init.d
linux@ubuntu:~$ ls /etc|grep init.d
init.d
7.重定向
方向
标准输入--键盘
标准输出--屏幕
标准错误输出-屏幕
(1)错误输出重定向
命令 2>文件 //将错误输出重定向到文件
linux@ubuntu:~$ cat /etc 2> log //将错误信息重定向到log文件 如果log不存在 则创建
//存在 则覆盖原来的信息
(2)追加重定向 >>
linux@ubuntu:~$ touch a.c
linux@ubuntu:~$ vi a.c
linux@ubuntu:~$ cat a.c >> log //将a.ccat就的结果追加到log文件中
linux@ubuntu:~$ cat log
rm: 无法删除"hi": 是一个目录
123
int main()
{
while(1)
{
;
}
}
(3) 输出重定向: >
}
linux@ubuntu:~$ cat a.c > log
linux@ubuntu:~$ cat log
int main()
{
while(1)
{
;
}
}
(4)输入重定向 <
linux@ubuntu:~$ cat > catfile
linux@ubuntu:~$ cat > catfile <a.c //cat会从a.c获取数据 重定向到catfile
linux@ubuntu:~$ cat catfile
8.echo与环境变量
(1)
echo 类似于c中的printf 功能:输出信息到屏幕
linux@ubuntu:~$ echo 123
123
(2)环境变量
linux@ubuntu:~$ MYNAME="doudou" //定义一个环境变量MYNAME 值为"doudou"
linux@ubuntu:~$ echo $MYNAME //输出变量的值 $表示取值
doudou
linux@ubuntu:~$ env //显示所有环境变量
linux@ubuntu:~$ echo $HOME //HOME指定用户的工作目录
/home/linux
linux@ubuntu:~$ echo $PATH // 指定命令的搜索路径 ls
9.查找
(1)which 查找可执行的指令(在PATH指定的目录中找)
linux@ubuntu:~$ which ls
/bin/ls
(2)locate 查找文件(整个硬盘找)
linux@ubuntu:~$ sudo updatedb //更新数据库
[sudo] password for linux:
linux@ubuntu:~$ locate passwd
(3)find / -name passwd
搜索路径 按名字查找
linux@ubuntu:~$ sudo find / -name passwd
10.通配符
linux用* ?做通配符
* 所有
? 一个字符
linux@ubuntu:~$ ls *.c //显示当前目录下所有.c结尾的文件
linux@ubuntu:~$ ls ?.c
a.c b.c g.c h.c
linux@ubuntu:~$ ls ??.c
18.c fr.c ha.c hi.c ma.c wa.c
linux@ubuntu:~$ touch a.{1,2,3,4}
linux@ubuntu:~$ ls
linux@ubuntu:~$ ls a.[1-4] //
a.1 a.2 a.3 a.4
linux@ubuntu:~$ ls a.[^1-2] //显示除了a.1 a.2外的所有a.开头的文件
a.3 a.4 a.c
11.用户管理命令
root
普通用户 linux u1 u2.。。可以有很多个
(1)
用户信息存储在/etc/passwd中
linux: x: 1000: 1000: linux,,,:/home/linux:/bin/bash
用户名 有密码 用户ID 组ID 备注 工作目录 shell脚本
密码信息存在/etc/shadow中
linux:$1$sM4Z3ZI0$ka3VzhNREapUpNce91BBl1:15605:0:99999:7:::
用户名 加密后密码
(2)adduser 添加用户
linux@ubuntu:~$ sudo adduser doudou1512
添加用户会做处理:
a、会在/home下为doudou1512创建一个家目录doudou1512
b、会将用户信息添加到/etc/passwd
c、会将密码信息添加到/etc/shadow中
(3)userdel 删除用户 不删除家目录
(4)userdel -r 删除用户包括家目录
linux@ubuntu:~$ sudo userdel -r oudou1512
a、会删除/home下doudou1512
b、会将/etc/passwd doudou1512用户信息删除
c、会将/etc/shadow中doudou1512密码信息删除
12.网络命令
(1)ifconfig
linux@ubuntu:~$ ifconfig //查看ip
linux@ubuntu:~$ sudo ifconfig eth0 192.168.0.100 //修改ip ifconfig 网卡 ip
//eth0表示第一块网卡
(2)ping 对方ip 查看对方主机是否在线
linux@ubuntu:~$ ping 192.168.0.10
13.软件安装
linux软件安装:
(1)在线 --网络安装
linux@ubuntu:~$ sudo apt-get install s1 网络安装软件s1
linux@ubuntu:~$ sudo apt-get remove s1 软件卸载
(2)离线 使用deb(debian linux)软件包
dpkg -i 软件名 //安装软件
dpkg -r 软件名 //卸载软件
14.关机及重启 ---超级用户才可以
(1)关机
sudo shutdown -h now //立即关机
sudo shutdown -h 15:52 //15:52关机
sudo shutdown -h +30 //30分钟之后关机
(2)重启
sudo shutdown -r now //立即重启
sudo shutdown -r 15:52 //15:52重启
sudo shutdown -r +30 //30分钟之后重启
sudo reboot 立即重启