总结:
1.linux/unix中一切皆是文件
2.linux/unix的结构
kernel:linux操作系统的核心(进程调度,硬件管理)
shell:解释器,就是调用内核提供的接口,去驱动内核,(获取信息去翻译,选择需要的接口)
文件系统:(一切皆是文件,任何设备在文件系统中都有一个文件路径与之对应;)
区分绝对路径和相对路径
1.绝对路径:从根目录开始
2.相对路径:没有从根目录开始 bin\java.exe
3./的含义:
在开头:表示根目录
在中间:分隔符
4.相关命令:
pwd:输出现在工作路径
cd /:回到根目录
cd home/:回到home目录
第二章:
1.区分管理员和普通用户
- 管理员:root…#
- 普通用户:briup…$
2.用户密码的修改
-
超级管理员修改密码
su:先切换管理员(若管理员无权限则执行下一命令)再执行passwd $sudo passwd :临时提升为管理员,执行命令,修改密码(sudo是临时的,只此一次)建议密码:briup
-
普通用户修改密码(有限制)
&passwd:修改当前用户密码
-
用超级管理员给普通用户改密码
$su: root..# passwd 用户名:修改指定用户的密码
补充:用户密码相关的配置文件路径
-
1./etc/passwd:(密码用x代替)
(命令:cat /etc/passwd) 例如:root:x:0:0:root:/root:/bin/bash briup:x:1000:1000:briup,,,:/home/briup:/bin/bash (1.用户名;2.曾经密码,占位符;3.id值;4.组id值;5.描述信息;6.家目录;7.默认的shell) 2./etc/shadow:(密码会显示为密文,需要更高的权限,需要用管理员权限) (命令:sudo cat /etc/shadow) 例如:briup:$6$SsPbhA8t$T40WN79QmqIfG5NR8D2B/Ovb1pj0Tg9fClS4LlpV3IvF. vXB/VwRe0nmXYB8hQAwLybNibvaI.YvgU2c.8boQ.:16930:0:99999:7:::
第三章
1.命令的格式
命令 [选项s] [参数s] (s代表的是多个;中括号代表可有可无)要有空白字符隔开
- $cd :只有命令
- $cd /:命令和参数
2.常用命令
cd命令:
cd .:当前路径
cd ..:上一目录(到根目录为止)
cd ~:回到家目录
ls命令:配合选项和参数使用
ls:查看当面路径文件目录
ls 目录:查看指定目录(例如ls /:查看根目录)
ls -a:查看所有文件,包含隐藏文件
ls -R:显示当前目录以及当前目录子目录的内容(递归显示)
ls -t:按照修改时间顺序显示当前目录的内容
ls -l:长列表显示文件
ls -F:显示文件类型(目录文件:/;可执行文件:*;普通文件:啥也没有)
文件类型
- :普通文件
d:目录文件
c:字符设备文件
b:块设备文件
l:符号链接(快捷方式)
s:套接字文件 (网络通信)
p:管道文件 (进程通信)
file命令:不打开文件的情况下显示文件
touch命令:创建一个文件
touch a.txt
cat命令:
cat 1.txt:查看文件内的内容
cat > 1.txt:从键盘中输入的内容输出到1.txt中
date:日期
cal:日历
cal 2022 :2022整年的日历
3.权限
-
r:读
-
w:写
-
x:执行
例如:rwxr-xr-x(三个为一组;拥有者权限,同组人权限,普通人权限)
4.修改权限
chmod 人员类 操作类 文件名
类:
u:拥有者;
g:同组人;
o:其他人
a:全部
操作类:
+:加权限;
-:减权限;
=:赋予权限
例子:chmod g-r a.txt 减去a.txt中同组人的读权限
rwx顺序为4 2 1;
7 r w x
6 r w -
5 r - x
4 r - -
3 - w x
2 - w -
1 - - x
0 - - -
例子:chmod 737 a.txt 减去a.txt中同组人的读权限,拥有者和其他人的权限是读写执行都有,同组人没有读权限。
5.touch命令有两种作用
1.创建一个不存在的文件
2.对已存在的文件修改最后一次修改和访问的时间
6.mkdir命令:创建一个目录
mkdir dir1/dir2:在dir1目录下面创建一个dir2目录
mkdir -P dir1/dir2/dir3:创建多级目录
ls -l 目录名:查看目录内部的文件,子目录,详细列表信息
ls -l -d 目录名:查看指定目录本身详细列表信息。(也可以为ls -ld 目录名)
7.umask命令:查看权限掩码
?问题:为什么文件和目录都有默认的权限
有权限掩码决定:有本身的权限去除权限掩码;
目录:777-权限掩码
文件:666-权限掩码
8.拷贝
文件到文件:
cp 路径 文件名:把路径中的内容拷贝到文件中
例子:cp /homw/briup 1.txt
cp 源文件 目标文件;若目标文件不存在,新建然后覆盖
文件到目录
cp 源文件(s) 目标目录;将文件复制到目录(目录存在)中
cp -r 源文件(s) 源目录(s) 目标目录;将源复制到目标目录,目标目录必须存在
目录到目录:
cp -r 源目录 目标目录(存在);复制源目录到目标目录中
例子:cp -r dir1 dir2
cp -r 源目录 目标目录(不存在):拷贝源目录内容到目标(这时把不存在的目录创建出来了,把源目录的内容拷贝过去,但是源目录本身没有)
9.剪切
1.文件到文件:
mv 1.txt 2.txt:
2.文件到目录
mv 1.txt dir1
3.目录到目录
mv dir1 dir2
10.删除
1.删文件:rm 1.txt
rm -i 1.txt:-i是在删除之前加入询问步骤,询问是否删除
2.删目录:rmdir (删除空目录)
rm -r dir1(非空目录)
11.帮助
1.man 命令 :知道命令名字不知道怎么用
2.man -k 命令部分字母:不知道命令怎么写
第四章
1.元字符:具有特殊含义的字符
1.*:0个或多个任意字符
ls -l *.txt:只要后缀为txt的文件都罗列出来
2.?:匹配任意一个字符
ls -l ?.txt:
3.[]:匹配给定范围的任意一个字符
[abc]
[a-z]
[a-z0-4]
4.;:多个命令排在一行用;分开,按先后顺序执行
5.>(重定向):原本输出在终端的输出到指定文件(覆盖源文件)
6.>>:重定向再追加,不会覆盖源文件,在源文件的后面追加新的内容
7.<:输入重定向
8.|:管道文件 :两个进程间通过管道进行通信,把一个进程的输出文件通过管道驱动另一进程工作
例如:cal 7 2000 |lp (lp是打印,即把日历信息作为打印机的输入驱动打印机打印出来)
ls -l /etc | more (把etc的文件查出来作为more的输入 做more操作(more就是分屏显示))
第五章(cat和more只能查看文件)
1.cat命令:
可以单独使用cat命令,就是从键盘拿数据,显示在屏幕上,crtl+c结束;
cat 文件名:显示文件内部信息
cat 文件1 文件2 >文件3:把文件1和2的合并到文件3里面
cat /dev/null > 文件名:把文件内容清空(dev/null是空洞文件)
cat /etc/passwd |awk -F: '{print $1 "\t" $6}'\|sort :
2.more 命令
more 文件名(一点一点输出,而不是一次显示出来)
Spacebar Scroll to the next screen
Return Scroll one line at a time
b:回到上一屏
f:下一屏
h:显示帮助菜单
q:退出
/:搜索想要的信息
n:
3.head和tail命令
head [-n] 文件名:输出文件的前n行
tail [-n] 文件名:输出文件的倒数n行
第六章 (vi全屏编辑器)
vi 文件名:把文件在vi编辑器中打开
1.vi的三种模式
命令模式
最底行模式
: / ?进入
return:回到命令模式
输入模式
i 在光标当前位置插入
a 在光标所在位置后插入
o 在光标所在行下插入一空行
<Esc> 退出插入状态
2.相关命令:
删除
x 删除一个字符
dw 删除当前词
3dw 删除三个词
dd 删除当前行
5dd 删除五行
存盘
:w存盘
:w newfile 存成新文件
:wq 存盘退出Vi(或ZZ,或:x)
:q! 强行退出不存盘
替换
r 替换一个字符
cw 替换一个单词
cc 替换一行
C 替换从光标至行尾
拷贝
yw 拷贝词
yy 拷贝行(或Y)
p 当前行下粘贴
:1,2co3 拷贝行1,行2在行3之后
:4,5m6 移动行4,行5在行6之后
指定行
:21 光标停在指定行
21G 光标停在指定行 (G 到文件尾,1G 到文件头)
~:大写小切换
J:把当前行和下一行连起来
查找:
/串 从当前行往下查找
?串 从当前行往上查找
n 查找继续
替换
1,$s/旧串/新串/g
第七章 查看
1.id
它对应的配置文件在/etc/group
1.id :查看当前用户的信息
2.id 用户名 :查看指定用户信息
3.users:显示当前登录系统用户的信息
2.who:查看用户信息
who:长列表(查看一共登录了几个终端)
w:更长的列表
who am i:只有一行
whoami:查看我是谁
2.find命令:查找内容
格式:find 路径 搜索条件 [执行的动作]
搜索条件:-name 按照名字筛选
-mtime 按最后一次修改时间
-user 按拥有者
-perm 按权限(777)
-size 按照空间(不是字节,是磁盘块(一个磁盘块大多数情况下是512的字节,有一部分是1024字节))
-type 文件类型
例如: find / -name perl
根目录下的文件名为perl的文件
find . -mtime 10 –print
find /etc -user 0 –size +400 –print
find ~ -perm 777 > ~/holes
find /export/home -type f -atime +365 -exec rm {} \;
找普通文件且访问时间超过365天,—exec是执行的意思,即执行后面的命令,删除,括号是
占位符,即查找一个执行一个,
find /export/home/html -name "*.html" -print | xargs \
perl -p -i.bak -e “s/Copyright 2004/Copyright 2005/g;”
找出文件打印出来,拿到文件作为参数给后面处理,-i.bak先备份,-e执行后面的替换
即找到.html的文件,然后把里面的2004全部替换成2005,
4.grep命令:逐行筛选匹配的串
grep hello a.txt::a.txt中包含hello的行显示出来
grep -i hello a.txt:a.txt中包含hello的行显示出来,包括大小写
grep -v hello a.txt:反转,即a.txt中不包含hello的行显示出来
5.wc统计命令
wc -l 文件名 :查看文件里有几行
wc -w 文件名:查看文件里有几个单词
wc -c 文件名:查看文件总共是多少个字母(包括换行)
6.ps 统计用户进程信息
ps -e:正在运行的所有进程全部出来
ps -f:进程详细列表显示
ps -ef:查看当前运行进程的信息
7.kill命令:发信号
kill 进程id
例如:
kill 12932
kill -9 进程id:9号信号代表必须执行杀死信号
pkill sleep:与sleep相关的进程全部杀死
ctrl+c:发信号,终止
ctrl+z:暂停
第八章:网络
1.ping:测试网络是否联通
2.ifconfig:查看自己的地址
3.telnet:远程登录服务器
4.ftp 地址:文件服务器,就是登录到文件服务器上实现文件上传下载。
第九章:初始化文件/环境变量
1.环境变量:具有特殊含义的变量,存在配置文件中
例如: echo $HOME
2.配置
临时环境变量:终端上配置的变量换个终端或者重新打开终端都会失效
不临时配置有两种方法:
用户级别的配置文件:只有当前用户登录才有用
系统级别的配置文件:系统中的各个用户都可以用
注意:用户级别的配置文件配置的环境变量在系统级别中失效,反之不失效
命令:
name=zs 变量名为name,值为zs
echo $PATH 输出path的配置文件
echo \$WTO:\放在特殊符号前面,去掉特殊符号的特殊含义
echo 后面没有$符号的时候只输出echo后面的串,加了$符后 输出相应的环境变量的值
例如 echo name:输出name
echo $name :输出zs
3.为什么一个命令一般对应一个可执行程序
cat----》/bin/cat 根据path环境变量决定
4.which和whereis
which显示路径
whereis显示所有相关的
5.命令
$ history:历史命令
$ history 5 :最近使用的五条命令
$ !n :执行最近使用的第n调命令
$ !! :执行上一命令
6.设置别名
alias h=history
alias c=clear
unalias c:取消别名
补充:
用户操作
1.添加用户
sudo useradd -mk /home/用户名 -s /bin/bash 用户名(-mk是设置家目录,-s是设置用户登录后使用bash)
2.给用户设置密码
sudo passwd 用户名
3.切换用户
su - 用户名
4.将用户加到sudo组中(若不加,用户没有管理员权限,无法使用sudo)
sudo gpasswd -a 用户名 sudo
5.查看用户是否已在sudo组中
切换到用户后 使用id命令
6.删除用户
sudo userdel -r -f 用户名(强制删除)
归档压缩
1.归档:tar -cvf 压缩文件名.tar 文件1 文件2 文件3...
2.解归档:tar -xvf 压缩文件名.tar 解压到的文件名(无解压后的文件名默认当前文件)
3.压缩:gzip 需要压缩的文件名.tar
bzip 需要压缩的文件名.tar
4.解压缩:gunzip 需要压缩的文件名.tar.gz
bunzip 需要压缩的文件名.tar.gz
5.归档压缩合成一步
tar -zcvf 压缩文件名.tar.gz 文件1 文件2 文件3...
解压缩:tar -zxvf 压缩文件名.tar.gz -C 解压到的文件名(无解压后的文件名默认当前文件)