简单的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。

最新文章

  1. barManager 挤压后“ 自动换行”和“自动隐藏”的实现方法
  2. AMBA
  3. Index Condition Pushdown Optimization
  4. MyEclipse安装Eclipse Memory Analyzer插件,并进行错误文件分析流程
  5. C#/winform 旅游管理信息系统
  6. 为过程或函数sp_Adduser指定了过多的参数
  7. BZOJ 1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛( dp )
  8. [Leetcode] Binary search, Divide and conquer--240. Search a 2D Matrix II
  9. lvs与haproxy
  10. IE中调试JS的一款很好的工具
  11. Linux下SVN创建新的项目
  12. UIWebView的高度不对问题
  13. git rebase的用法
  14. lua变量作用域
  15. oracle 11g亿级复杂SQL优化一例(数量级性能提升)
  16. MongoDB,无模式文档型数据库简介
  17. Python_oldboy_常用模块(九)
  18. maven学习(4)-Maven 构建Web 项目
  19. nexus 私服跑一跑流程
  20. word用宏命令完美解决列表编号变黑块的问题

热门文章

  1. 推荐一些学习MySQL的资源
  2. (转)netcore原生websocket客户端写法(ClientWebSocket)
  3. java基础——何为方法
  4. [Python] 网络
  5. 安装oracle 时“[INS-30014]无法检查指定的位置是否位于 CFS上”问题
  6. Spring AOP 用法浅谈(Day_18)
  7. 深入 Go 语言 defer 实现原理
  8. 如何在 Docker 环境下自动给 .NET 程序生成 Dump
  9. 写Bug时,需要注意的几点3
  10. Jenkins 入门介绍