ubuntu初识
简单的Linux系统理解
Ubuntu
ctrl+alt 可以令虚拟机释放鼠标,回到主系统中。
如果ubuntu有问题,如何重装?
-------直接删除目录。虚拟机内的操作不会影响到宿主机。
1、挂起/恢复——将当前状态冻结,以便快速恢复
2、快照与系统恢复
3、Linux可以作为个人桌面,但主要用于服务器环境
4、Linux下没有C盘D盘概念
/home/zero/123.txt 相当于->Users/...
用户目录就是用户自己的目录,Linux系统上支持多个用户,每个用户一个目录,例如/home/xiaoming
特例:超级用户root,用户目录为/root(普通用户不可访问)
权限机制:对于普通用户来说,它能操作的目录就只有用户目录,toot用户没有限制。
5、创建目录和文件
6、命令行
1)、文件列表ls(list,列出目录下的所有项)
ls/home/zero("/"表示根目录)
以详细模式查看 ls-l/home/zero (“-l”为参数,参数一般以“-”开头)
注意:在输入命令和路径时,按tab可以自动补全,输入历史可以翻阅,(按↑↓箭头键)宿主机与虚拟机之间可以拷贝粘贴。
2)、切换目录
显示当前位置pwd(print working directory 显示当前工作目录) cd(change directory 切换目录)
几个特殊的目录:
~ :代表当前用户的主目录
. :代表当前目录
.. :代表上一级目录
cd~ :切换到主目录
cd~/example :切换到主目录下的example目录
cd../www :切换到上级目录,再到www子目录
在ls命令中也可以使用~ . .. 表示的路径
3)、目录操作
mkdir(make directory 创建目录)
mkdir -p abc/123/test(使用“-p”参数,可以将路径的层次目录全部创建)
rmdir(remove directory删除空目录)
rmdir abc 如果目录非空,删除失败
rm(remove 删除文件或者目录)
rm-rf abc 删除abc目录,和子项一并删除
r表示recursive,f表示force
cp(copy 复制文件或者目录)
cp-rf example example2 (将example 复制到 example2)
mv(move,移动文件或目录(重命名))
move hello helloworld
注意:对于文件,rm/cp/mv三个命令同样适用
4)、归档压缩
tar,即tape archive 档案打包
创建档案包
tar-cvf example.tar example
c表示create 创建档案
v表示verbose显示详情
f表示file
也可以多个目录打包
tar-cvf xxx.tar file1 file2 file3
还原档案包
tar-xvf example.tar(-c outdir)
-c参数指定目标目录,默认解到当前目录下
x表示extract
5)、归档并压缩
tar-zcvf example.tar.gz example
解压缩
tar-zxvf example.tar.gz
6)、软链接
即windows下的快捷方式。使用ln命令(link)来创建软链接
ln-s sourse link
-s表示soft软链接(默认为硬)
比如:ln-s example example2
软链接特点:
删除它对原文件没有影响,删除原文件,它失效。
7)、添加用户
sudo useradd -m test1
sudo 表示以管理员身份执行
-m表示在/home下添加用户目录
sudo passwd test1 修改用户密码
sudo userdel test1 删除用户
注意:在登录系统时默认不允许以root用户登录,只有特殊用户才能执行sudo,叫sudoer用户
8)、超级用户root
类似于windows下的Administrator用户,切换到toot用户,有全部权限,可以直接useradd等命令
首次使用时,需要给root设置密码:sudo passwd root
切换到root目录:su root ,su 表示switch user
退出:exit
注意:su root仅仅对当前会话(终端)有效,不影响当前桌面环境,root权力太大,需要小心使用。
9)、用户和组
Linux下可以创建多个用户,可以用组进行管理用户
创建组:groupadd boys
创建用户:useradd -m -g boys ming
-g表示在添加用户,同时将用户加到boys组
修改现有用户到新的组:usermod -g boys zero
usermod 表示修改用户信息,modify
查看用户和组:cat/etc/group
每一行表示一个group的信息,名称+ID
查看用户列表:cat/etc/passwd
每一行表示一个用户的信息
注意:用户不多时,管理时并不使用组的概念,默认地,会给a1用户建立一个同名的组a1,也就是说这个组里只有他一个人
10)、以root登录桌面
默认地,不允许以root登录桌面环境
步骤:
在终端里切换到root用户:gedit/etc/pam.d/gdm-autologin 在auth required pam_succeed_if.so user!=root quiet_success前加一个#
关闭并保存:gedit/etc/pam.d/gdm-password 在auth required pam_succeed_if.so user!=root quiet_success前加一个#(表示注释)
11)、文件的权限
-owner:文件的属主owner
-r:文件是否可读read
-w:文件是否可写write
-x:文件是否可以执行excute
使用ls命令查看一个文件信息 ls-l simple.txt
如:drwxrwxr-x 2 ...
lrwxrwxrwx 1 ...
-rw-rw-r-- 1 ...
第一个字符,d表示目录,l表示软链接,-表示文件
rw- r-- r--
权限分为三部分:自己、同组、别人
12)、修改文件权限
chmod,即change file mode 修改文件的访问权限
chmod o+w simple.txt o表示other别人,+w表示增写write权限
chmod a+w simple.txt 所有人all
chmod a-w simple.txt
chmod u+w simple.txt 仅用户user自己的权限+w
chmod o-w simple.txt
注意:只有文件的属主或者root可修改文件权限或属主
省略写法:chmod +w simple.txt 默认是修改自己和本组的权限
13)、修改文件属主
chown,即change owner 修改文件的属主、
每个用户只操作自己的用户目录,所以chown命令并不常用。
14)、可执行脚本(Script,一种解释执行的程序)
Linux下常见的三种脚本程序:Shell脚本 *.sh Perl脚本 *.pl python脚本 *.py
脚本程序本质上是一个文本文件,具有可执行权限
hello.sh是一个脚本程序
脚本程序都是由解释器执行的
shell脚本解释器:/bin/sh
Perl : /bin/perl
python : /bin/python3
执行脚本时,以下两方式等效
./hello.py /bin/python3 hello.py
15)、shell脚本
按shell语法写出来的脚本,Linux自带的脚本语言,相当于Windows下的DOS批处理脚本
编辑一个文本文件,保存为hello.sh 。 #!/bin/sh echo"hello,world" (打印)
添加可执行权限:chmod +x hello.sh
执行程序: ./hello.sh
注意:第一行必须声明解释器,#!/bin/sh
必须有x权限,才能够执行
执行程序时,必须加上路径 ./hello.sh 或 /home/zero/hello.sh
16)、shell中的变量
环境变量:(最典型)path , java_home
shell是一个脚本编程语言
定义变量:NAME=value 等号左右不要多加空格
执行命令:echo ls cd up
if判断逻辑,while循环逻辑。
自定义的函数。
使用变量${NAME}
如果已经有了定界符,则可以简写为$NAME,如echo $NAME/build/
定义环境变量
export OUTDIR=/opt/
显示环境变量 echo ${OUTDIR}
查看所有环境变量 printenv
注意:在命令行定义的环境变量,只对当前shell终端有效,当关闭终端时,重启后就消失了。
17)、用户环境变量
定义在~/.profile中
在主目录下 ls-la a表示all,显示所有文件
在Linux中,以.开头的文件为隐藏文件
在.profile中定义环境变量步骤:
用文本编辑器打开~/.profile : gedit ~/.profile
添加:export JAVA_HOME=/opt/jdk1.8 保存并关闭
注销,登陆后生效:echo $JAVA_HOME
原理:当用户打开终端时,会自动运行.profile,将变量注入到当前环境中
18)、系统环境变量
定义在/etc/profile中,对所有用户有效,以root身份执行
gedit /etc/profile 一般不直接修改/etc/profile
而是在/etc/profile.d/创建一个自定义的脚本
19)、path环境变量
用于描述可执行程序的搜索路径
echo $PATH
多个路径之间以冒号分隔
usr/local/bin: /usr/local/sbin: /usr/bin
sbin为root才能执行的程序
修改path环境变量:
编辑 /etc/profile.d/myprofile.sh
设定path环境变量:export PATH=$PATH:/opt/tomcat/bin
注销,重新登陆后生效
20)、虚拟机网络
21)、虚拟机联网设置
22)、与宿主机互联
23)、手动配置网络
以命令行方式来配置网络,常用命令:ifconfig,netstat等
Ubuntu下不带ifconfig命令,需要使用apt软件包管理器
apt install net-roots 安装一个软件包
apt remove net-roots 移除
apt search xxx 搜索,apt list | grep xxx 列表
查看网络配置:ifconfig
if表示interface网络接口
会列出所有的网络接口及各个接口的状态
开启/禁用网络:sudo ifconfig xxx up
sudo ifconfig xxx down
24)、FTP服务器
把文件传到Ubuntu主机上,U盘拷贝,网络传输(FTP,SFTP)
...
25)、SSH服务器
使用SSH协议,可以实现远程终端文件传输
...
26)、文本编辑vi
vi/vim ,一个基于控制台的文本编辑器
gedit ,一个基于GUI的文本编辑器
vim是vi的升级版
打开文本编辑:vim abc.txt
如果目标文件存在,则打开编辑;如果不存在,会新建一个文件。如果系统上没有vim,就安装一下:sudo apt install vim
切换模式:
编辑模式 Insert Mode :按i键
命令模式 Command Mode :按ESC键
退出编辑:
按ESC,进入命令模式
输入“:wq”保存并退出
输入“:q”退出
输入“:q!”强制退出(放弃保存)
Linux文本文件的编辑:
桌面环境:gedit
终端环境:少量修改vim
大量:在Windows上编辑然后上传到Linux。