- 目前不同的操作系统类型(Operating System,OS)
- Unix: 以C语言为主体;
Linux: 内核版本(kernel)包含系统调用,终端命令等,只有一个;
发行版本(包含内核,桌面应用等),如Ubuntu, CentOs等;
3. Ubuntu,只有一个根目录/,/home/有几个个文件夹,表示就有几个用户;
/etc/保存一些系统配置文件;
/bin/可执行二进制文件的目录;
4. Ubuntu,图形用户界面学习:菜单条;
5. Linux的终端命令:常用的大概10多个,可以用ctrl + shift + = 放大终端字体,ctrl + - 缩小终端字体;
# 六个主要的命令,注意文件夹和文件的新建和删除操作的不同,目录即文件夹
1. ls # list, 查看当前文件夹内容
2. pwd # print work directory, 查看当前所在文件夹
3. cd [目录名] # change directory, 切换文件夹
4. touch [文件名] # 若文件不存在,则新建文件
5. mkdir [目录名] # make directory, 创建目录
6. rm [文件名] # remove, 删除指定文件,rm -r dd # 删除文件夹dd
7. clear # clear, 清屏
6. 终端命令格式:command [-options] [parameter] # [] 表示可选,其中command表示命令,options选项用于对命令进行控制,parameter表示传给命令的参数,可0,1或多个;
7. 查阅命令帮助信息:command --help
man command # manual的意思
8. 文件和目录常用命令:ls命令;注Linux文件或者目录名称最长可有256个字符;
以.开头为隐藏文件,如.表示当前目录,..表示上一层目录,而用-a才能显示;
ls -a #显示隐藏文件
ls -l #以列表方式显示
ls -h #一般与-l一起使用
ls -alh
ls可以和通配符使用,其中 '*'表示任意个字符,'?'表示一个字符
ls 2* # 匹配以2开头的文件
ls *2 # 匹配以2结尾的文件
ls ?2?.txt # 任意一个字符2任意一个字符.txt的文件
ls [123]23.txt # 匹配123中任意一个数字开头的23.txt文件
ls [a-f]23.txt
ls [1-4]23.txt
9. 切换目录:cd命令
cd ~ # 切换到/home/用户目录,或者只用cd
cd . # 不变
cd .. # 上级目录
cd - # 可在最近两次目录中切换
10. 绝对路径:如 /home/python/Desktop
相对路径:表示相对当前目录所在的目录位置
11. 创建和删除操作,注:Linux下文件与目录不能重名
touch # 创建或修改文件末次修改日期
mkdir # 可递归创建多个目录,mkdir -p a1/b1/c1,可递归创建多个目录
rm # 删除后不能恢复,rm -r a1,递归删除目录下的内容;rm -f a1,强制删除文件,无提示,rm *1.txt
12. 拷贝和移动文件:
tree # tree, 以树状图列出文件目录结构
cp 源文件 目的文件 # copy, 复制文件或目录
mv 源文件 目的文件 # move, 移动文件或目录
tree
tree ~
tree -d # 只显示目录
cp ~/text.txt ./b.txt
cp ~/text.txt .
cp -i ~/a.txt . # 覆盖文件前显示
cp -r a b # 递归复制目录及其子文件
mv test /test
mv a.txt b.txt # 重命名
mv -i test /test # 覆盖文件前提示
13. 查看文件内容:
cat 文件名 # catenate, 查看文件内容,-b对非空行编号,-n对全部行编号
more 文件名 # 分屏显示文件内容,空格,Enter, b, f, q
grep # 文件搜索工具
grep -n # 显示匹配行及行号
grep -v # 显示不包含匹配行文本的所有行
grep -i # 忽略大小写
grep as 123.txt
grep -i "hello world" 123.txt # 加引号,是因为有空格
模式查找,^a,行首,搜以a开头的行;ke$,行尾,搜以ke结尾的行。
14. echo和重定向(将内容重定向到一个文件):> 表示输出,覆盖原有文件,>>表示追加
ls -lh > a
echo Hello >> a
15. 管道 | :Linux允许将一个命令的输出可以通过管道作为另一个命令的 输入
ls -lh | more # 分屏显示
ls -lha | grep Do # 查找
16. 远程管理命令
shutdown # 1分钟后关闭电脑
shutdown -c # 取消关机命令
shutdown +10 # 十分钟后关机
shutdown 20:25
shutdown -r now # 重新启动
ifconfig # configure a network interface
ifconfig | grep inet
ping ip地址
ping 127.0.0.1 # 测试本地网址是否正常,在Linux中物理网卡通常以ensxx表示
# 127.0.0.1 本地环回地址
17. 远程登录和复制文件:ssh(secure shell, ssh, 数据传输加密,压缩), scp(secure copy, 远程拷贝文件,指定端口时用大写的-P),其中ssh在Unix可用,Linux默认安装,windows需安装putty, xshell等软件;
ssh [-p port] user@remote # user表示用户名,remote表示远程机器的地址,ip/域名/别名
ssh -p 22 python@125.2.2.1 # ssh默认22,可省略
scp -P port 01.py user@remote:Desktop/01.py # 上传至服务器
scp -P port user@remote:Desktop/01.py 01.py # 下载文件
scp -r demo user@remote:Desktop # 拷贝目录
scp -r user@remote:Desktop demo
注:配置别名,在.ssh下config中添加:
Host 别名
HostName ip
User username
Port 22
18. 用户权限相关命令,用户与组(建组,赋权限,添加用户)管理;
文件/目录的权限包括:读 read r 4
写 write w 2
执行 execute x 1
ls -l的查看结果:
19. 硬链接数:通过绝对路径,cd ., cd ..等,有多少种方式,可以访问到当前目录/文件;
20. chmod,可修改用户/组,对文件/目录的权限;
chmod +/- rwx 文件名|目录名
chmod -rw 01.py
./01.py #可直接执行
21. 超级用户root, 拥有一切用户权限;
sudo substitue user # 用5min限期
22. 组管理,在sudo下操作;
groupadd 组名
groupdel 组名
cat /etc/group # 查看组信息
chgrp -R 组名 文件/目录名 # 递归修改文件/目录属性
23. 用户管理;
useradd -m -g 组 新建用户名 # -m自动建立用户家目录,-g若不指定会建立一个和用户名同名的组
passwd 用户名 # 设置用户密码,cat /etc/passwd
userdel -r 用户名 # 删除用户,-r用于自动删除用户家目录
24. 查看用户信息;
id [用户名] # 查看用户UID和GID
cat -n /etc/passwd | grep yzz # 可以查到六个分号,七个信息
# 如下:
# yzz:x:1006:1007:yzz:/home/yzz:/bin/bash
# 用户名:密码加密:UID : GID : 全名 :家目录 : 登录用的shell
who
whoamI
usermod 主组,附加组
usermod -g 组 用户名 # 修改用户的主组
usermod -G 组 用户名 # 修改用户附加组
usermod -s /bin/bash # 修改用户登录shell, ubuntu默认是dash,登录用bash
25. which,可查看执行命令所在的位置
/bin # binary,二进制执行文件目录,用于具体应用
/sbin # system binary,系统管理员专用的二进制代码存放目录
/usr/bin # 后期安装的软件
/usr/sbin # super user system binary, 超级用户的软件
26. 切换用户;
su - 用户名 # -表示切换到家目录
exit # 退出终端
27. 权限命令介绍,修改文件权限
chown 修改拥有者
chown 用户名 文件名/目录名
chgrp 修改组
chgrp -R 组名 文件名/目录名
chmod 修改权限
chmod -R 755 文件名/目录名 # -R一个目录下所有文件权限
# r:4, w:2, x:1,因此可以计算出755表示的意思, 7对应拥有者,5对应组用户,5对应其他用户
# 777 -rwxrwxrwx
# 755 -rwxr-xr-x
# 644 -rw-r--r--
28. 系统信息相关命令;
date # 查时间
who -b # 查看系统启动时间
cal -y # 查日历,-y表一年
df -h # dish free, 剩余空间,-h以人性化方式显示文件大小
du -h [目录名] # disk usage目录下文件大小
29. 进程:当前正在执行的一个程序;
ps aux # process status
# a其他用户终端上的进程,u显示进程详细信息,x显示没有控制终端的进程
top # 动态显示进程并排序,q退出
kill [-q] 进程代号,终止进程,-q表示强行终止进程
30. 查询以及打包压缩命令;
find [路径] -name "*.py"
find Desktop/ -name "*.*"
# Linux常用tar.gz打包
# tar负责打包,不压缩
tar -cvf 打包文件.tar 被打包的文件路径 # c生成档案文件创建打包文件,f指定档案文件名称
tar -xvf 打包文件.tar 解包文件 # x解开档案文件,v列出详细进程,显示进度
# gzip压缩tar打包后的文件,xxx.tar.gz
tar -zcvf 打包文件.tar.gz ...
tar -zxvf 打包文件.tar.gz
tar -zxvf ....tar.gz -C 目标路径 # 目标路径必须存在
# bzip2压缩tar包,xxx.tar.bz2
tar -jcvf ....tar.bz2
tar -jxvf ....tar.bz2
# zip
zip -r ...zip directory
unzip ....zip -d directoryname
31. apt, advanced packaging tool,包管理工具,安装/卸载软件;
apt install 软件包 # 安装
apt remove 软件包 # 卸载
apt upgrade # 更新
sudo apt sl # 小火车,LS
sudo apt install htop
32. 配置软件源,镜像源,所有服务器的内容是相同的(镜像),软件和更新。