2天linux
操作系统理论
linux命令
1、操作系统作用
,以便于使用
主要作用是管理好硬件设备,并为用户和应用程序提供一个简单的接口
2、Linux发展历史
Unix ->Minix ->linux
3、centos图形界面
ctrl + alt + d 显示桌面
4、centos的文件系统
/:根目录
/home:所有普通用户的家
/root:root用户的家
/bin:可执行的程序
Terminal 终端
5、基本命令
pwd:查看当前所在路径
cd:
绝对路径:从根目录开始定位某个位置 cd /home/admim
相对路径:相当于当前目录,进入下级目录或返回上级目录
cd ~:进入自己的家目录
cd :进入自己的家目录
cd -:电视回看
cd ..:到上层目录,cd ../../..
1、进入自己的家
2、进入跟目录,绝对路径和相对路径
3、cd -
ls:查看文件夹的内容
ls:只能看简单的内容
ls -l:查看详细列表
ls -a:查看所有的文件,包括隐藏文件,.开头的文件是隐藏
ls -lh:展示详细列表时,大小格式化好看一些
ll = ls -l
ls 目录:查看指定目录的内容
ls -lah / 查看全部内容
clear:清除当前终端显示的内容
清空的是控制面板里面的全部内容
touch:创建文件,如果存在,不做工作,不存在时,就会创建空
文件
touch
test.txt
这样创建一个文件 后面的是文件名
给记事本编辑内容的语法 后面跟着的是编辑的是哪个前面的是语法,系统会自动备份给备份的删掉
gedit
test.txt
记事本编辑文件 gedit默认自动备份,编辑->首选项->编辑器->文件保存
多个文件夹创建语法
touch
test1 test2 test3 创建多个空文件
创建隐藏文件夹语法
touch .teafa 创建隐藏文件
mkdir:
创建目录
举例:创建文件夹的语法,前面是语法后面是创建的文件夹
mkdir laowang
mkdir .lao
这个是创建了两个文件夹
mkdir dawang xiaowang
这个是创建多层文件夹后面要加-p 这个有空格的
mkdir lisi/zhangsan/wanger
-p
如果上层目录不存在,会自动创建
rm:删除文件或文件夹
删除这个文件的语法
rm test~
强制删除文件夹,这个中间都是带空格的
rm -r laowang
查看命令使用帮助
查看这个
command 的帮助命令一般没啥用Q是退出帮助键
command
--help
如:ls --help
这个
man是帮助文档
man
command 如:man ls
ls
通配符
创建一个带*号的文件
touch \*a
查找这个带*号的文件
ls \*a
属于查找里面的
找到以[中间是以a-c 开头的文件]c结尾的文件都要找出来
找到 ls [a-c]c
拷贝语法
cp 复制粘贴
代表拷贝在同一个目录层级下的文件
cp test.txt test.txt.bak 拷贝文件
-r
代表拷贝文件夹
cp -r dawang dawang2 拷贝文件夹
-ra代表
拷贝文件保留属性
cp -ra dawang dawang3 拷贝文件夹保持原有属性
切换用户
su 回车输入密码:123456 切换到root用户
su admin 切换到admin用户
passwd:改密码
切换到root账户
passwd admin 输入新的密码
reboot 重启 任何用户都可以执行
shutdown 必须root用户才能执行
2天linux
操作系统理论
linux命令
1、操作系统作用
主要作用是管理好硬件设备,并为用户和应用程序提供一个简单的接口,以便于使用
2、Linux发展历史
Unix ->Minix ->linux
3、centos图形界面
ctrl + alt + d 显示桌面
4、centos的文件系统
/:根目录
/home:所有普通用户的家
/root:root用户的家
/bin:可执行的程序
Terminal 终端
5、基本命令
pwd:查看当前所在路径
cd:
绝对路径:从根目录开始定位某个位置 cd /home/admim
相对路径:相当于当前目录,进入下级目录或返回上级目录
cd ~:进入自己的家目录
cd :进入自己的家目录
cd -:电视回看
cd .:还是在当前目录
cd ..:到上层目录,cd ../../..
1、进入自己的家
2、进入跟目录,绝对路径和相对路径
3、cd -
ls:查看文件夹的内容
ls:只能看简单的内容
ls -l:查看详细列表
ls -a:查看所有的文件,包括隐藏文件,.开头的文件是隐藏
ls -lh:展示详细列表时,大小格式化好看一些
ll = ls -l
ls 目录:查看指定目录的内容
ls -lah /
1、进入家目录
2、查看所有内容,包括详细信息,格式大小,提示:ls和ll
3、在家目录,查看/tmp目录的所有内容
clear:清除当前终端显示的内容
touch:创建文件,如果存在,不做工作,不存在时,就会创建空文件
touch test.txt
gedit test.txt 记事本编辑文件 gedit默认自动备份,编辑->首选项->编辑器->文件保存
touch test1 test2 test3 创建多个空文件
touch .teafa 创建隐藏文件
1、在家目录下创建文件,test.txt , 隐藏文件
2、修改隐藏文件
mkdir:创建目录
mkdir laowang
mkdir .lao
mkdir dawang xiaowang
mkdir lisi/zhangsan/wanger -p 如果上层目录不存在,会自动创建
rm:删除文件或文件夹
rm test~
rm -r laowang
查看命令使用帮助
command --help 如:ls --help
man command 如:man ls
ls 通配符
touch \*a
ls \*a
touch a ab ac abc
找到以a开头的文件 ,且为两个字母
找到 ls [a-c]c
cp 复制粘贴
cp test.txt test.txt.bak 拷贝文件
cp -r dawang dawang2 拷贝文件夹
cp -ra dawang dawang3 拷贝文件夹保持原有属性
当前目录的路径:pwd
去哪个目录:cd
绝对路径:cd /home
cd .
cd ..
cd ~
cd
cd -
cd ../..
cd dawang
查看目录的内容:ls
ls -l
ls -lh
ls -a
ll -a 最常用
创建文件:touch,如果指定了目录,必须保证目录已经存在 不常用
touch a.txt 在当前目录下创建文件
touch ../a.txt
touch /home/admin/b.txt
创建文件夹:mkdir 常用
mkdir a 在当前目录下创建文件夹
mkdir -p a/b/c 创建多级目录
拷贝粘贴:cp
cp a.txt aa(文件) 拷贝a.txt 到当前目录,命名为aa
cp a.txt b(已经存在的目录) 拷贝a.txt 到b目录下
clear:把当前终端的内容往下翻一页
删除:rm
rm a.txt 删除文件
rm -r a 删除目录
mv:移动、重命名,默认覆盖已经存在的文件
到某个目录下
[admin@localhost day02]$ touch a
[admin@localhost day02]$ ls
a
[admin@localhost day02]$ mkdir b
[admin@localhost day02]$ ls
a b
移动a文件到b目录下
[admin@localhost day02]$ mv a b
[admin@localhost day02]$ ls
b
[admin@localhost day02]$ ls b
a
[admin@localhost day02]$ touch a.txt
[admin@localhost day02]$ ls
a.txt b
把a.txt重命名为aaa.txt
[admin@localhost day02]$ mv a.txt aaa.txt
[admin@localhost day02]$ ls
aaa.txt b b.txt
[admin@localhost day02]$ ll
总用量 8
-rw-rw-r-- 1 admin admin 5 12月 22 09:58 a
-rw-rw-r-- 1 admin admin 0 12月 22 09:38 aaa.txt
drwxrwxr-x 2 admin admin 4096 12月 22 09:35 b
-rw-rw-r-- 1 admin admin 0 12月 22 09:39 b.txt
移动aaa.txt 变成a文件,重命名
[admin@localhost day02]$ mv aaa.txt a
[admin@localhost day02]$ ll
总用量 4
-rw-rw-r-- 1 admin admin 0 12月 22 09:38 a
drwxrwxr-x 2 admin admin 4096 12月 22 09:35 b
-rw-rw-r-- 1 admin admin 0 12月 22 09:39 b.txt
[admin@localhost day02]$ mv -i b.txt a
mv:是否覆盖"a"? n
[admin@localhost day02]$ ll
总用量 4
-rw-rw-r-- 1 admin admin 0 12月 22 09:38 a
drwxrwxr-x 2 admin admin 4096 12月 22 09:35 b
-rw-rw-r-- 1 admin admin 0 12月 22 09:39 b.txt
[admin@localhost day02]$ mv -i b.txt a
mv:是否覆盖"a"? y
[admin@localhost day02]$ ll
总用量 4
-rw-rw-r-- 1 admin admin 0 12月 22 09:39 a
drwxrwxr-x 2 admin admin 4096 12月 22 09:35 b
[admin@localhost day02]$ mv -v a a.txt
"a" -> "a.txt"
输出重定向命令:> 命令 > 文件 把命令返回的结果 保存到文件中
命令 >> 文件 把命令返回的结果 追加到文件中
查看当前目录中的内容
[admin@localhost day02]$ ll
总用量 4
-rw-rw-r-- 1 admin admin 0 12月 22 09:39 a.txt
drwxrwxr-x 2 admin admin 4096 12月 22 09:35 b
把ll返回的结果 保存到b.txt文件中:
执行步骤--
1、先创建b.txt空文件
2、执行ll命令,得到的结果b.txt还是空文件
3、把ll命令返回的结果保存到b.txt中
[admin@localhost day02]$ ll > b.txt
[admin@localhost day02]$ ll
总用量 8
-rw-rw-r-- 1 admin admin 0 12月 22 09:39 a.txt
drwxrwxr-x 2 admin admin 4096 12月 22 09:35 b
-rw-rw-r-- 1 admin admin 161 12月 22 10:05 b.txt
gedit b.txt
总用量 4
-rw-rw-r-- 1 admin admin 0 12月 22 09:39 a.txt
drwxrwxr-x 2 admin admin 4096 12月 22 09:35 b
-rw-rw-r-- 1 admin admin 0 12月 22 10:05 b.txt
查看根目录的内容
[admin@localhost day02]$ ll /
把ll执行返回的结果保存到bb.txt中
[admin@localhost day02]$ ll / > bb.txt
[admin@localhost day02]$ ll
总用量 12
-rw-rw-r-- 1 admin admin 0 12月 22 09:39 a.txt
drwxrwxr-x 2 admin admin 4096 12月 22 09:35 b
-rw-rw-r-- 1 admin admin 1111 12月 22 10:09 bb.txt
-rw-rw-r-- 1 admin admin 161 12月 22 10:05 b.txt
[admin@localhost day02]$ gedit bb.txt
[admin@localhost day02]$ pwd > pwd.txt
[admin@localhost day02]$ gedit pwd.txt
把之前文件的内容覆盖
[admin@localhost day02]$ ls > pwd.txt
[admin@localhost day02]$ gedit pwd.txt
[admin@localhost day02]$ pwd > pwd.txt
[admin@localhost day02]$ gedit pwd.txt
追加,把新的内容加到文件的末尾
[admin@localhost day02]$ pwd >> pwd.txt
[admin@localhost day02]$ gedit pwd.txt
cat:查看文件内容,把文件内容显示在终端
创建文件 ,并且输入内容
[admin@localhost day02]$ touch 1.txt 2.txt
[admin@localhost day02]$ gedit 1.txt
[admin@localhost day02]$ gedit 2.txt
查看1.txt的内容
[admin@localhost day02]$ cat 1.txt
1111111111
1111
查看2.txt的内容
[admin@localhost day02]$ cat 2.txt
2222
22
查看多个文件的内容
[admin@localhost day02]$ cat 1.txt 2.txt
1111111111
1111
2222
22
[admin@localhost day02]$ cat 1.txt 2.txt > 3.txt
[admin@localhost day02]$ cat 1.txt 2.txt >> 3.txt
more:如果文件内容超出一屏,词命令可以翻页
ll / >> b.txt 执行5次
more b.txt
往后看,按空格
往前看,按b
不想看了,按q 退出
ll -a / >> b.txt
more b.txt
管道
ll -a / | more
把ll -a /返回的结果 交给more处理
建立链接文件:ln
ln -s 源文件 软链接文件
ln -s a.txt a_link_s
gedit a.txt
gedit a_link_s
cat a.txt
cat a_link_s
如果删除软链接文件,源文件不受影响,如果删除了源文件,软链接文件就没有内容了
硬链接
ln 源文件 硬链接文件
ln 1.txt 1.txt_h
修改任何一个,其他的都会跟着改变,只有所有的硬链接和源文件都删除,那个源文件的内容才被删除
硬链接不能链接目录
硬链接创建后,会修改文件的硬链接数量
文本搜索:grep
创建文件1.txt,内容是
hello world
ni hao
world h
gongxi facai
grep "he" 1.txt
创建文件2.txt,内容是
he
grep "he" * 查找当前目录下所有文件内容含有he的文件
显示行号,grep -n "he" 1.txt
忽略大小写,grep -ni "He" 1.txt
正则表达式
grep "^h" 1.txt 查找h开头的内容
grep "d$" 1.txt 查找d结尾的内容
find 在指定目录 根据文件名查找文件
find . -name "*.txt" 查找当前目录下,及所有子目录中以.txt结尾的文件
find . -name "a.txt" 查找当前目录下,及所有子目录中文件名为a.txt的文件
归档管理:tar
打包
tar cf 1.tar *.txt 把所有txt文件打包
tar tf 1.tar 只查看tar包里面的内容
tar xfv 2345.tar 把tar包的内容解开到当前目录
tar xfv 2345.tar -C 23456 把tar包的内容解开到指定的目录下,要求目录必须已经存在
打包+压缩
1、打包
tar cf 1.tar *.txt
2、压缩
gzip -r 1.tar
出来的文件:1.tar.gz
a.tar.gz
解压里面的内容
1、解压
gzip -d a.tar.gz -> a.tar
2、解包
tar xf a.tar -C 目录
练习
打包+压缩
1、打包
tar cf 1.tar *.txt
2、压缩
gzip -r 1.tar
出来的文件:1.tar.gz
把1.tar.gz拷贝到一个目录,目录需要提前创建
解压里面的内容
1、解压
gzip -d a.tar.gz -> a.tar
2、解包
tar xf a.tar -C 目录 目录需要提前创建
一步搞定打包+压缩
tar cvzf 12345.tar.gz *.txt
tar xvzf 12345.tar.gz -C 12345
tar cvjf 12345.tar.bz2 *.txt
tar xvjf 12345.tar.bz2 -C 12345bz2
单独使用,不需要结合tar命令
zip -r 123zip *.txt
unzip -d 123zip 123zip.zip
zip gzip bzip2
通用性 zip > gzip > bzip2
压缩率 zip < gzip < bzip2
一般使用gzip
查看命令位置:which
which ls
找到ls这个命令对应的程序文件
chmod
rw-rw-r--
u自己:rw
g组:rw
o其他组:r
u : r
g : r
o : r
chmod u=r,g=r,o=r testmod.txt 直接给3个组分别赋值权限
chmod u=rw,g=rw,o=rw testmod.txt
chmod u+w,g+w,o+w testmod.txt 直接给3个组分别添加权限
chmod a-w testmod.txt 直接给3个组减少权限
chmod u+w testmod.txt 只给自己加个权限
数字法:
字母 说明
r 读取权限,数字代号为 "4"
w 写入权限,数字代号为 "2"
x 执行权限,数字代号为 "1"
- 不具任何权限,数字代号为 "0"
chmod 777 testmod.txt 3个数对应3个组
chmod 654 testmod.txt 3个数对应3个组
切换用户
su 回车输入密码:123456 切换到root用户
su admin 切换到admin用户
passwd:改密码
切换到root账户
passwd admin 输入新的密码
reboot 重启 任何用户都可以执行
shutdown 必须root用户才能执行