Linux-学习笔记-01

一、Linux系统简介

1.Linux发展史

1946年世界上的第一台计算机就产生了,刚产生出的计算机并没有操作系统,需要手工输入

人机矛盾:1. 只能一个人使用 2.人工速度慢于计算

产生操作系统(根据人的需求产生)

1965年麻省理工,ATT,贝尔实验室去研发一套操作系统,想要允许300台操作并使用

1969年实现进度缓慢,计划失败了

1969-1970 肯.汤姆逊移植了一个软件,定制一套标准,Unix系统

1970 推出了Unix系统,Unix系统元年,操作系统元年,电脑底层时间 1970

1985 年推出了windows

Unix是一个传统的美国人思维,按年,按月,或者按设备收美金

林纳斯.托瓦兹看不惯Unix

1991年模拟Unix写了一套操作系统Linux

开源,当时也只有大约100开发者,核心开发者大约5人

1993年Linux使用者大约10w数量级

2.Linux的应用领域

IT服务器Linux、Unix、Windows三分天下,Linux系统可谓后起之秀,特别是最近几年来,服务器端Linux操作系统不断地扩大市场份额,且每年增长势头迅猛,并且开始对Windows及Unix服务器市场的地位构成严重的威胁。Linux占80%左右(包括CentOS,Ubuntu等),Windows占12.8%,solaris占6.2%。可见,在未来的服务器领域市场里Linux是大势所趋。

Linux作为企业级服务器的应用十分广泛,利用Linux系统可以为企业架构WWW服务器、数据库服务器、负载均衡服务器、邮件服务器、DNS服务器、代理服务器、路由器等,不但使企业降低了运营成本,同时还获得了Linux系统带来的高稳定性和高可靠性,且无须考虑商业软件的版权问题

Linux操作系统应用的三大领域

a.企业级服务器应用领域【利用Linux系统可以为企业架构WWW服务器、数据库服务器、负载均衡服务器、邮件服务器、DNS服务器、代理服务器、路由器等,不但使企业降低了运营成本,同时还获得了Linux系统带来的高稳定性和高可靠性,且无须考虑商业软件的版权问题,随着Linux在服务器领域的广泛应用,近几年来,该系统已经参透到电信、金融、政府、教育、银行、石油等各个行业,同时各大硬件厂商也相继支持Linux操作系统。这一切表明,Linux在服务器市场前景光明。同时,大型、超大型互联网企业都在使用Linux系统作为其服务器端的程序运行平台,全球及国内排名前十的网站使用的几乎都是Linux系统,Linux已经逐步渗透到了各个领域的企业里】

b.嵌入式Linux系统应用领域【由于Linux系统开放源代码,功能强大、可靠、稳定性强、灵活而且具有极大的伸缩性,再加上它广泛支持大量的微处理体系结构、硬件设备、图形支持和通信协议,因此,在嵌入式应用的领域里,从因特网设备(路由器、交换机、防火墙,负载均衡器)到专用的控制系统(自动售货机,手机,PDA,各种家用电器),LINUX操作系统都有很广阔的应用市场。特别是经过这几年的发展,它已经成功地跻身于主流嵌入式开发平台。例如《在智能手机领域,Android Linux已经在智能手机开发平台牢牢地占据了一席之地。嵌入式系统应用领域是另一个应用领域】

c.个人桌面Linux应用领域【所谓个人桌面系统,其实就是我们在办公室使用的个人计算机系统,例如:Windows xp、windows 7、Mac等。Linux系统在这方面的支持也已经非常好了,完全可以满足日常的办公需求】

服务器、云计算、嵌入式、政府、企业、影视、超算、桌面

3.Linux的特点

开放多用户多任务出色的速度性能良好的用户界面丰富的网络功能可靠的系统安全良好的移植性具有标准兼容性

4.系统的使用

​ 严格来讲,Linux不是一个操作系统,Linux只是一个操作系统中的内核。内核是什么?内核建立了计算机软件与硬件之间通讯的平台,内核提供系统服务,比如文件管理、虚拟内存、设备I/O等。

​ 既然Linux只是一个内核。那么我们通常所说的Linux操作系统又是什么?我们通常所说的Linux,指 GNU/Linux ,即采用Linux内核的GNU操作系统。是的,操作系统的实际名称是GNU。什么是GNU?GNU代表GNU’s Not Unix。可以说是一个操作系统又可以说是一种规范

参考资料:https://blog.csdn.net/baidu_32134295/article/details/52439823

5.Linux组成

Linux内核:​ 操作系统的心脏,运行程序和管理硬件设备的核心程序Linux Shell:​ 系统的用户界面,提供用户与内核进行交互操作的一种接口Linux 文件系统:​ 文件存储在磁盘等存储设备上的组织方法Linux 应用程序​ 标准的程序集,比如文本编辑,编程语言,Window,办公套件,Internet工具,数据库等

6.Linux版本

RedHat :性能稳定,老牌的linux发行版。收费的是RedHat Enterprise Linux(RHEL,redhat的企业版)

Fedora :界面比较好看,RedHat的社区免费版,非常强大。

Centos :可以算是RHEL的克隆版,但它最大的好处是免费SUSE :德国最著名的linux发行版

Debian:算是迄今为止最遵循GUN规范的linux系统(GUN的目标就是创建一套完全自由的操作系统)

Ubuntu :Debian的后继或是一个分支,对于初学者而言比较友好

Ubuntu的优点:

​ a.简便易用,对于初学者,Ubuntu系统算是非常简单的了

​ b.版本更新定期而频繁,每六个月就有一个新的ubuntu版本

​ c.使用者非常多,支持的社区也很多

​ d.标准化

7.Linux VS Windows

见图

二、环境安装

1.VMWare安装

VMWare是虚拟机

虚拟机是在我们操作系统中使用软件模拟出来的操作系统,相当于寄宿在真实物理机中的操作系统

2.Ubuntu系统安装

Linux系统的发布版本

【可能会出现的问题】

1.CPU 不支持虚拟化:

解决办法:
https://jingyan.baidu.com/article/b24f6c82c11ad286bfe5da23.html
​
BIOS:全称(Base  Input  Output System),中文是基本输入输出系统
虽然BIOS成百上千,但功能都是一样的,对硬件信息进行保存设置,所以设置方法上也大同小异,90%以上的电脑设置方法都差不多,进入BIOS按键也就那几个<del,Esc,F1,F2,F8,F9,F10,F11,F12>
​
英文:Press Esc to enter SETUP
中文:按Esc键进入BIOS设置
​
英文:Press F2 go to Setup Utility
中文:按F2去设置BIOS实用程序
​
英文:Press DEL to enter EFI BIOS SETUP
中文:按Del键进入EFI模式的BIOS进行设置
​
英文:Press Del run Setup
中文:按Del键运行BIOS设置
​
英文:Press F1 run Setup
中文:按F1键运行BIOS设置
​
英文:Press <F2> to Setup
中文:按F2进行BIOS设置
​
【t400进入bios的方法:按f1】
1.首先需要确定计算机型号和菜谱,BIOS(基本输入输出系统)系统型号,因为过老的计算机是不支持虚拟机化的
2.检测方式:
    开机时按 F2,F12,DEL,ESC 等键就可以进到 BIOS[至于按哪个 看电脑品牌]
3.进入 BIOS 后,找到 Configuration 选项或者 Security选项, 然后选择 Virtualization或者 Intel Virtual Technology 就可以开始操作了
4.然后回车 将其设置为 Enabled
5.保存 BIOS 设置重启计算机
6.进入操作系统 右键 选择任务管理器 - 性能 - CPU - 查看虚拟化设置(已启动表示设置成功了, 可以装虚拟机了)

不同型号的电脑进入bios的按键总结:

【见图】

3.VMWare Tools安装

作用:保证两个系统之间可以进行文件共享

三、系统设置

1.账户和密码

系统用户

a.普通用户:我们自己创建的用户,平时操作的时候尽量使用普通用户,普通用户可以有多个

b.root用户:超级管理员,是唯一的,它具有等同于操作系统的权限【可以操作系统中的任何功能】,被称为超级用户,但是,普通用户也可以调用超级管理员的指令

2.主机名,终端用户名和密码

1>修改root用户密码

步骤:
a.输入 su root  进入root用户
b.输入密码yangyang0122   ----->报错
c.重新输入初始密码rock1204
d.通过命令  passwd root  设置新密码,需要输入两次
e.设置完成之后输入  reboot  重启Linux系统  ------》第一次重启速度会很慢
d.进入系统后,重启终端,输入su root进入root用户,输入设置过的新密码yangyang1234
​
​
演示命令:
rock@rockrong:~$ su rootc
密码:             #输入yangyang1234认证失败
su:认证失败
rock@rockrong:~$ su root 
密码:              #输入rock1204
root@rockrong:/home/rock# passwd root
输入新的 UNIX 密码: 
重新输入新的 UNIX 密码: 
passwd:已成功更新密码
root@rockrong:/home/rock# reboot

2>修改主机名

步骤:
a.重启终端,输入su root,输入新密码进入root用户 -------》只有root用户才有修改主机名的权限
b.输入vim /etc/hostname     -----》vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等功能
c.进入编辑界面,按下a才能进入编辑模式,修改自己的主机名       
d.修改完成之后,按下esc键,然后按下shift+冒号,输入wq        #将修改内容保存退出
e.输入 vim /etc/hosts,再次进入vim编辑模式,修改127.0.0.1后面名字为yangyang-virtualmachine,然后保存退出
f.输入reboot,重启系统,发现hostname就已经被修改完了
​
​
演示命令:
rock@rockrong:~$ su root
密码: 
root@rockrong:/home/rock# vim /etc/hostname      
root@rockrong:/home/rock# vim /etc/hosts
root@rockrong:/home/rock# reboot

3>用户名

演示命令:
rock@yangyang-virMachine:~$ pwd
/home/rock
rock@yangyang-virMachine:~$ su root
密码: 
root@yangyang-virMachine:/home/rock# vim /etc/shadow
root@yangyang-virMachine:/home/rock# cd ..
root@yangyang-virMachine:/home# ls
rock
root@yangyang-virMachine:/home# mv rock yangyang
root@yangyang-virMachine:/home# ls
yangyang

4>修改密码

演示命令:
root@yangyang-virMachine:/home# vim /etc/passwd
root@yangyang-virMachine:/home# reboot

5>存在的问题:普通用户没有root权限

演示命令:
yangyang@yangyang-virMachine:~$ su root
密码: 
root@yangyang-virMachine:/home/yangyang# su yangyang
yangyang@yangyang-virMachine:~$ sudo useradd user1
[sudo] yangyang 的密码: 
yangyang 不在 sudoers 文件中。此事将被报告。
yangyang@yangyang-virMachine:~$ vim /etc/sudoers  #在其中添加yangyang ALL(ALL:ALL) ALL
yangyang@yangyang-virMachine:~$ su root
密码: 
root@yangyang-virMachine:/home/yangyang# vim /etc/sudoers
root@yangyang-virMachine:/home/yangyang# su yangyang
yangyang@yangyang-virMachine:~$ sudo useradd user1
[sudo] yangyang 的密码: 
对不起,请重试。
[sudo] yangyang 的密码: 
yangyang@yangyang-virMachine:~$ 

四、目录结构

1.Windows文件系统

在Windows下,使用的都是一个个的盘符,比如:C盘,D盘,E盘。。。

每个盘符都有自己的根目录

2.Linux文件系统

没有盘符这个概念,只有一个根目录/,所有的文件存放于根目录下

注意:在Linux下,将文件夹称为目录,实际上所有的内容都被视为文件,包括目录

Linux目录结构: 
​
/ : 根目录 #在Linux下有且只有一个根目录,在终端中输入/home,就是告诉电脑,从根目录开始,进入home目录
/boot : boot 配置文件、内核和其它启动时所需的文件
/etc :存放系统配置有关的文件 #用户信息都在当前目录下【修改用户名和密码】
/home :存放普通用户目录
    #ls /home/   ----->yangyang【所有普通用户的用户名】
    #注意:home目录下存放的是所有普通用户的目录
    
/mnt :硬盘上手动挂载的文件系统  
    #挂载:将硬盘连接在文件系统上
    #默认情况下是空的
/media :自动挂载(加载)的硬盘分区以及类似CD、数码相机等可移动介质。 
/cdrom :挂载光盘 
/opt : 存放一些可选程序,如某个程序测试版本,安装到该目录的程序的所有数据,库文件都存在同个目录下
/root : 系统管理员的目录,对于系统来说,系统管理员好比上帝
    #可以对系统做任何操作,比如删除文件,一般情况下都是用root用户
    
/bin :存放常用的程序文件
    #binary,二进制文件,可执行的文件
/sbin :系统管理命令,这里存放的是系统管理员使用的管理程序 
/tmp :临时目录,存放临时文件
    #注意:系统会定期清理该目录下的文件
/usr :在这个目录下,你可以找到那些不适合放在/bin或/etc目录下的额外的工具。比如游戏、打印工具等。/usr目录包含了许多子目录: 
    /usr/bin目录用于存放程序;
    /usr/share用于存放一些共享的数据,比如音乐文件或者图标等等;
    /usr/lib目录用于存放那些不能直接 运行的,但却是许多程序运行所必需的一些函数库文件。
    /usr/local : 这个目录一般是用来存放用户自编译安装软件的存放目录;一般是通过源码包安装的软件,如果没有特别指定安装目录的话,一般是安装在这个目录中。
    /usr/bin/ 非必要可执行文件 (在单用户模式中不需要);面向所有用户。
    /usr/include/ 标准包含文件。
    /usr/lib/ /usr/bin/和/usr/sbin/中二进制文件的库。
    /usr/sbin/ 非必要的系统二进制文件,例如:大量网络服务的守护进程。
    /usr/share/ 体系结构无关(共享)数据。
    /usr/src/ 源代码,例如:内核源代码及其头文件。
    /usr/X11R6/ X Window系统 版本 11, Release 6.
    /usr/local/ 本地数据的第三层次,具体到本台主机。通常而言有进一步的子目录, 例如:bin/、lib/、share/.
​
/var :该目录存放那些经常被修改的文件,包括各种日志、数据文件;
    /var/cache/ 应用程序缓存数据。这些数据是在本地生成的一个耗时的I/O或计算结果。应用程序必须能够再生或恢复数据。缓存的文件可以被删除而不导致数据丢失。
    /var/lib/ 状态信息。 由程序在运行时维护的持久性数据。 例如:数据库、包装的系统元数据等。
    /var/lock/ 锁文件,一类跟踪当前使用中资源的文件。
    /var/log/ 日志文件,包含大量日志文件。
    /var/mail/ 用户的电子邮箱。
    /var/run/ 自最后一次启动以来运行中的系统的信息,例如:当前登录的用户和运行中的守护进程。现已经被/run代替[13]。
    /var/spool/ 等待处理的任务的脱机文件,例如:打印队列和未读的邮件。
    /var/spool/mail/ 用户的邮箱(不鼓励的存储位置)
    /var/tmp/ 在系统重启过程中可以保留的临时文件。
    
/lib : 目录是根文件系统上的程序所需的共享库,存放了根文件系统程序运行所需的共享文件。这些文件包含了可被许多程序共享的代码,以避免每个程序都包含有相同的子程序的副本,故可以使得可执行文件变得更小,节省空间。
/lib32 : 同上
/lib64 : 同上
/lost+found : 该目录在大多数情况下都是空的。但当突然停电、或者非正常关机后,有些文件就临时存放在;
/dev : 存放设备文件
/run :代替/var/run目录,
/proc : 虚拟文件系统,可以在该目录下获取系统信息,这些信息是在内存中由系统自己产生的,该目录的内容不在硬盘上而在内存里;
    cat /proc/cpuinfo
    
/sys : 和proc一样,虚拟文件系统,可以在该目录下获取系统信息,这些信息是在内存中由系统自己产生的,该目录的内容不在硬盘上而在内存里;

补充:

.    代表的是当前目录
..   代表的是上一级目录
注意:根目录下的.和..代表都是当前目录
相对路径和绝对路径
绝对路径:从根目录开始的路径
相对路径:从当前位置开始的路径
yangyang@yangyang-virMachine:~$ ls Desktop/    #相对路径
yangyang@yangyang-virMachine:~$ ls /home/yangyang/Desktop/   #绝对路径

五、快捷键

ctrl + alt + t  :快速打开终端
​
ctrl + shift + +:终端中的字体放大,同时窗口放大
ctrl + - :字体减小
​
tab :命令行自动补全
​
ctrl + f:前进一个字符
ctrl + b:后退一个字符
​
ctrl + a:回到行首
ctrl + e:回到行尾
​
ctrl + w : 删除一个单词【根据空格进行区分单词】
ctrl + u:向左删除全部
ctrl + k:向右删除全部
​
ctrl + y :增加被ctrl+u或者ctrl+k或者ctrl+w删除的部分
​
ctrl + l:清屏【注意:并不是真正意义上的清屏,将屏幕向上翻了一页】【掌握】
​
ctrl + c:中断执行【掌握】
​
ctrl + d:退出终端

六、安装软件

Ubuntu下安装软件一般分为在线安装和离线安装两种方式

1.apt

软件管理 apt ( Advanced Packaging Tool ) , 他可以自动下载、配置、安装软件包

apt-cache search package 搜索包
apt-cache show package 获取包的相关信息,如说明、大小、版本等
sudo apt-get install package 安装包
sudo apt-get install package –reinstall 重新安装包
sudo apt-get -f install 强制安装
sudo apt-get remove package 删除包
sudo apt-get remove package –purge 删除包,包括删除配置文件等
sudo apt-get autoremove 自动删除不需要的包
sudo apt-get update 更新源
sudo apt-get upgrade 更新已安装的包
sudo apt-get dist-upgrade 升级系统
sudo apt-get dselect-upgrade 使用 dselect 升级
apt-cache depends package 了解使用依赖
apt-cache rdepends package 了解某个具体的依赖
sudo apt-get build-dep package 安装相关的编译环境
apt-get source package 下载该包的源代码
sudo apt-get clean && sudo apt-get autoclean 清理下载文件的存档
sudo apt-get check 检查是否有损坏的依赖

apt的配置文件

/etc/apt/sources.list 设置软件包的获取来源
/etc/apt/apt.conf apt配置文件
/etc/apt/apt.conf.d apt的零碎配置文件
/etc/apt/preferences 版本参数
/var/cache/apt/archives/partial 存放正在下载的软件包
/var/cache/apt/archives 存放已经下载的软件包
/var/lib/apt/lists 存放已经下载的软件包详细信息
/var/lib/apt/lists/partial 存放正在下载的软件包详细信息

2.dpkg

dpkg是Debian软件包管理器的基础,被用于安装、卸载和供给和.deb软件包相关的信息,dpkg本身是一个底层的工具,本身并不能从远程包仓库下载包以及处理包的依赖的关系,需要将包从远程下载后再安装

dpkg -i package.deb 安装包
dpkg -r package 删除包
dpkg -P package 删除包(包括配置文件)
dpkg -L package 列出与该包关联的文件
dpkg -l package 显示该包的版本
dpkg –unpack package.deb 解开 deb 包的内容
dpkg -S keyword 搜索所属的包内容
dpkg -l 列出当前已安装的包
dpkg -c package.deb 列出 deb 包的内容
dpkg –configure package 配置包

七、常用命令

1.概述

操作:磁盘操作,文件存取,目录操作,进程管理以及文件权限设定等

格式:

command options parameters

command :命令名称

options :选项,可以对命令进行控制,根据具体的需求可写可不写

parameters:传给命名的参数,根据具体的需求可写可不写,也可以是多个

2.查看帮助文档

1>--help 查看Linux命令自带的帮助信息

2>man:相当于是一个手册,包含了大部分命令的详细使用说明

3>history 查看执行过的命令

作用:当系统执行过一些命令之后,可以通过上下键翻看以前的命令, history将执行过的命令列举出来

history    显示的是最近的1000条命令
history    num   查看最近的num条命令
!编号     可以直接执行编号对应的命令
yangyang@yangyang-virMachine:~$ !966  #执行编号对应的命令
ls
Desktop    Downloads  Pictures  PycharmProjects  Templates
Documents  Music      Public    Software         Videos
yangyang@yangyang-virMachine:~$ cat ~/.bashrc | grep -i hist
# don't put duplicate lines or lines starting with space in the history.
HISTCONTROL=ignoreboth
# append to the history file, don't overwrite it
shopt -s histappend
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
yangyang@yangyang-virMachine:~$ ls -a ~/.bash*
/home/yangyang/.bash_history  /home/yangyang/.bashrc
/home/yangyang/.bash_logout
yangyang@yangyang-virMachine:~$ gedit /home/yangyang/.bash_history

3.文件管理

3.1ls

ls:列举指定目录下的所有内容【list】
​
    格式:ls  选项   目录
​
    选项:
​
        -:A显示所有的文件和子目录,包含隐藏文件
​
        -a:同-a,包含.和..
​
        -l:除了文件名之外,还将文件的权限,类型,所有者,大小等详细信息列出【文件大小是字节】        -lh  :文件大小显示的是kb,按照文件名排序
​
             -lht   :文件的排序按照时间顺序排序
​
             -lhtr:按照时间升序排序 
​
        -r:按照文件内容显示【依据:按照英文字母的逆序显示】
​
        -t:按照文件修改的时间排序
​
        -F:在列出的文件或者目录后添加标记,在可执行文件的后面添加"*",在目录后添加的是“/”
​
        -R:如果指定目录下有子目录,则列出所有的文件【将所有目录遍历一遍】
​
注意:选项可以组合使用
​
举例:ls -a -l  以格式化的形式显示所有的内容,包含隐藏文件,可以简写为ls   -al,,也可以简写为ll  
演示命令:
yangyang@yangyang-virMachine:~$ ls
Desktop    Downloads  Pictures  PycharmProjects  Templates
Documents  Music      Public    Software         Videos
yangyang@yangyang-virMachine:~$ ls /home/yangyang/
Desktop    Downloads  Pictures  PycharmProjects  Templates
Documents  Music      Public    Software         Videos
yangyang@yangyang-virMachine:~$ ls -a
.              Downloads       .nano             .sudo_as_admin_successful
..             .gconf          .pam_environment  .sunpinyin
.bash_history  .gnome          Pictures          Templates
.bash_logout   .gnupg          .pki              Videos
.bashrc        .ICEauthority   .presage          .viminfo
.cache         .java           .profile          .virtualenvs
.compiz        .lesshst        Public            .Xauthority
.config        .local          .PyCharm2017.3    .xinputrc
.dbus          .mozilla        PycharmProjects   .xsession-errors
Desktop        Music           .python_history   .xsession-errors.old
.dmrc          .mysql          Software
Documents      .mysql_history  .sogouinput
yangyang@yangyang-virMachine:~$ ls -A
.bash_history  .gconf          .nano             .sogouinput
.bash_logout   .gnome          .pam_environment  .sudo_as_admin_successful
.bashrc        .gnupg          Pictures          .sunpinyin
.cache         .ICEauthority   .pki              Templates
.compiz        .java           .presage          Videos
.config        .lesshst        .profile          .viminfo
.dbus          .local          Public            .virtualenvs
Desktop        .mozilla        .PyCharm2017.3    .Xauthority
.dmrc          Music           PycharmProjects   .xinputrc
Documents      .mysql          .python_history   .xsession-errors
Downloads      .mysql_history  Software          .xsession-errors.old
yangyang@yangyang-virMachine:~$ ls -l
总用量 40
drwxr-xr-x 2 yangyang rock 4096 9月   4 01:14 Desktop
drwxr-xr-x 2 yangyang rock 4096 7月  18  2017 Documents
drwxr-xr-x 2 yangyang rock 4096 3月  25 22:05 Downloads
drwxr-xr-x 2 yangyang rock 4096 7月  18  2017 Music
drwxr-xr-x 2 yangyang rock 4096 7月  18  2017 Pictures
drwxr-xr-x 2 yangyang rock 4096 7月  18  2017 Public
drwxrwxr-x 3 yangyang rock 4096 3月  25 22:43 PycharmProjects
drwxrwxr-x 3 yangyang rock 4096 3月  25 22:37 Software
drwxr-xr-x 2 yangyang rock 4096 7月  18  2017 Templates
drwxr-xr-x 2 yangyang rock 4096 7月  18  2017 Videos
yangyang@yangyang-virMachine:~$ ls -h
Desktop    Downloads  Pictures  PycharmProjects  Templates
Documents  Music      Public    Software         Videos
yangyang@yangyang-virMachine:~$ ls -lh
总用量 40K
drwxr-xr-x 2 yangyang rock 4.0K 9月   4 01:14 Desktop
drwxr-xr-x 2 yangyang rock 4.0K 7月  18  2017 Documents
drwxr-xr-x 2 yangyang rock 4.0K 3月  25 22:05 Downloads
drwxr-xr-x 2 yangyang rock 4.0K 7月  18  2017 Music
drwxr-xr-x 2 yangyang rock 4.0K 7月  18  2017 Pictures
drwxr-xr-x 2 yangyang rock 4.0K 7月  18  2017 Public
drwxrwxr-x 3 yangyang rock 4.0K 3月  25 22:43 PycharmProjects
drwxrwxr-x 3 yangyang rock 4.0K 3月  25 22:37 Software
drwxr-xr-x 2 yangyang rock 4.0K 7月  18  2017 Templates
drwxr-xr-x 2 yangyang rock 4.0K 7月  18  2017 Videos
yangyang@yangyang-virMachine:~$ ls -r
Videos     Software         Public    Music      Documents
Templates  PycharmProjects  Pictures  Downloads  Desktop
drwxr-xr-x  2 yangyang rock  4096 7月  18  2017 Public/
​
#1.文件类型
#第一位代表的是文件类型
    -:文件
    d:目录
    l:链接文件
    p:管道文件
    s:socket文件
#2.文件的权限
#rwx  r-x   r-x代表的是文件的权限【7  5  5】
    r:read,可读权限,可以使用数字4表示
    w:write,可写权限,可以使用数字2表示
    x:execute,可执行权限,可以使用数字1表示
    -:没有任何权限,可以使用数字0表示
    第一组:当前用户所拥有的权限
    第二组:和当前用户在同一个组中的用户拥有的权限
    第三组:其他组中的用户拥有的权限
    
#3.文件和目录的权限类型
#对于文件
    可读权限:只允许进行读取,不能进行任何其他的操作
    可写权限:可以修改或者删除或者增加文件中的内容
    可执行权限:允许将文件作为一个程序进行执行
#对于目录
    可读权限:允许显示该目录中的内容
    可写权限:可以在该目录中新建文件,删除文件,重命名文件等
    可执行权限:可以进入该目录,可执行是基本权限,如果没有该权限,则进入不了目录
      
#4.硬链接的个数
取值范围为0-7
    0:什么权限都没有
    1:只能执行
    2:只有写权限
    3:文件可写可执行
    4:只读权限
    5:可读可执行
    6:可读可写
    7:可读可写可执行
    
#5.用户组
分为三类:
当前用户的权限【user】
用户所属组的权限【group】
其他组的权限【other】
​
#6.补充:
#通配符:*   ?  [],通过通配符在指定目录下查找文件
yangyang@yangyang-virMachine:~$ ls
Desktop    Downloads  Pictures  PycharmProjects  Templates
Documents  Music      Public    Software         Videos
yangyang@yangyang-virMachine:~$ cd Desktop/
yangyang@yangyang-virMachine:~/Desktop$ ls
a1.txt  a1 (第3个复件).txt  a1 (第4个复件).txt  a1 (另一个复件).txt  a2.txt
yangyang@yangyang-virMachine:~/Desktop$ ls a*
a1.txt  a1 (第3个复件).txt  a1 (第4个复件).txt  a1 (另一个复件).txt  a2.txt
yangyang@yangyang-virMachine:~/Desktop$ ls a1*
a1.txt  a1 (第3个复件).txt  a1 (第4个复件).txt  a1 (另一个复件).txt
yangyang@yangyang-virMachine:~/Desktop$ ls *txt
a1.txt  a1 (第3个复件).txt  a1 (第4个复件).txt  a1 (另一个复件).txt  a2.txt
yangyang@yangyang-virMachine:~/Desktop$ ls ?a
ls: 无法访问'?a': 没有那个文件或目录
yangyang@yangyang-virMachine:~/Desktop$ ls [abc].txt
ls: 无法访问'[abc].txt': 没有那个文件或目录
yangyang@yangyang-virMachine:~/Desktop$ ls [abc]1.txt
a1.txt  

3.2pwd

查看当前的工作目录【print working directory】

3.3cd

切换工作目录【change directory】

用法:cd 指定路径【相对路径或者绝对路径】

猜你喜欢

转载自blog.csdn.net/weixin_42569562/article/details/82670279
今日推荐