Ubuntu基础学习
1、/ 根目录 --------- 所有目录挂在其下
2、/boot --------- 存放Ubuntu内核和系统启动文件。系统启动时这些文件先被装载。
3、/etc --------- 系统的配置文件目录。密码文件、设置网卡信息、环境变量的设置等都在此目录中,许多网络配置文件也在其中。具体参见。
4、/lib --------- 根文件系统目录下程序和核心模块的共享库。这个目录里存放着系统最基本的动态链接共享库,类似于Windows下的system32目录,几乎所有的应用程序都需要用到这些共享库。
5、/media --------- 主要用于挂载多媒体设备。ubuntu系统自动挂载的光驱、usb设备,存放临时读入的文件。
6、/proc --------- 这个目录是系统内存的映射,我们可以直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里。
7、/sbin --------- s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序,如系统管理、目录查询等关键命令文件。
8、/tmp --------- 这个目录是用来存放一些临时文件的,所有用户对此目录都有读写权限。
9、/home --------- 用户的主目录。下面是自己定义的用户名的文件夹。每个用户的设置文件,用户的桌面文件夹,还有用户的数据都放在这里。
10、/mnt --------- 此目录主要是作为挂载点使用。通常包括系统引导后被挂载的文件系统的挂载点。如挂载Windows下的某个分区。
11、/root --------- 系统管理员(超级用户),即根用户的主目录。
12、/srv --------- 存储系统提供的服务数据。
13、/usr --------- 包括与系统用户直接有关的文件和目录。
/usr/X11R6 存放X-Windows的目录;
/usr/games 存放着XteamLinux自带的小游戏;
/usr/bin 用户和管理员的标准命令;
/usr/sbin 存放root超级用户使用的管理程序;
/usr/doc Linux技术文档;
/usr/include 来存放Linux下开发和编译应用程序所需要的头文件,for c 或者c++;
/usr/lib 应用程序和程序包的连接库;
/usr/local 系统管理员安装的应用程序目录;
/usr/man 帮助文档所在的目录;
/usr/src Linux开放的源代码;
/usr/share 用于存放一些共享的数据,比如音乐文件或者图标等等
14、/var --------- 用于存放很多不断变化的文件,例如日志文件等。包含了日志文件、计划性任务和邮件等内容。
/var/cache 应用程序缓存目录;
/var/crash 系统错误信息;
/var/games 游戏数据;
/var/log 日志文件;
/var/mail 电子邮件;
/var/tmp 临时文件目录;
15、/bin ---------bin是binary的缩写。这个目录沿袭了UNIX系统的结构,存放着使用者最经常使用的命令。例如cp、ls、cat,等等。
基本命令
-
mv see/{abc,love} animal/:把see目录下的abc,love移动到animal目录下
-
sudo:为了让普通管理员有超管的权限执行命令
-
pwd:显示当前所在的目录
-
cd ..:进入上一级目录
-
创建隐藏文件:在文件名前加“.”
-
ls *.txt:查找以.txt的文件
-
ls 1*:查找以1 开头的文件
-
ls 1*.txt:查找以1开头,.txt的文件
-
ls ??.txt:查找文件名有两个的文件
-
ls [show]123.txt:可以从中括号里面取,如s123.txt或者h123.txt
-
cd -:两个目录来回切换
-
touch:创建文件
-
rm:删除文件
-
mkdir:创建目录
-
rm -d/-r:删除目录
-
cp:复制文件
-
ls后面可以加文件路径
-
which:查看命令所在的位置。如,which ls
-
find命令
-
-
find / -name 2.txt:从根目录下搜索名字为2.txt的文件
-
-i:忽略大小写(放在name前面。如-iname)
-
-
locate :后面加文件名,直接搜索。但是搜出来的是带有文件名的文件,多而乱。
-
cat/more :查看文件内容,more会分页展示内容,按空格换下一页
-
-
cat -b:显示行号(不包括空格)
-
cat -n:显示行号(包括空格)
-
-
-
-
grep root love.txt:从love.txt中找到包含root的这一行
-
-
-
grep -n root love.txt:显示行号
-
grep -v root love.txt:除了root行。其他都打印出来
-
grep ^'#' /etc/services :只抓取以‘#’开头的行
-
grep s$ /etc/services :抓取以s结尾的行
-
-i:抓取时忽略大小写
-
-
echo:回显。打印出echo后面的字符串
-
-
echo hello world > love.txt:把hello world打印到love里面,但是会覆盖掉原有的内容
-
echo hello world >> love.txt:在原有的基础上追加内容
-
ls > love.txt:把ls展现的内容输出到love上
-
-
管道:把一个命令的输出通过管道连接,作为一个命令的输入
-
-
ls -alh | grep test:在ls展现的内容中,找到包含test那行
-
grep -v ^'#' /etc/services | grep update
-
-
软链接(相当于window下的快捷方式)
-
-
ln home/slime/Desktop/see/abc abc_softlink:给see目录下的abc文件创建一个名为abc_softlink的软链接
-
没有-s选项建立的是硬链接文件
-
源文件使用绝对路径,不要用相对路径
- -v:显示创建链接的过程
- 这篇博客把软硬链接讲的特别好点击此处
-
-
tree:显示当前目录下的文件和目录结构(需要下载tree)
用户
-
sudo useradd user1:添加用户名user1
-
-
-m:创建家目录
-
不加-m创建的用户在/etc/paswd下面
-
-
sudo passwd user1:给user1设置密码
-
组
-
-
id user1 :查看user1的组
-
sudo useradd -g user3 user4:创建user4,分到user3中
-
-
su root:切换root用户
-
userdel
-
-
-r 删除用户登入目录以及目录中所有文件。
-
-f 强制删除用户(甚至当用户已经登入 Linux 系统时此选项仍旧生效)。
-
-
用户组
-
-
groupadd group1:添加用户组group1,可以在etc/group下面查看
-
groupmod -n groupnew group1:把group1改为groupnew
-
groupdel:删除用户组
-
-
shell
第一种:/bin/bash
第二种:/usr/bin/nologin
第三种:/bin/sh
-
如何修改用户的shell:切换到想要修改shell的用户,输入”chsh“,可以输入”/bin/bash“修改
-
-
/etc/group 配置当前系统有哪些用户组
-
-
组名
-
组密码标识
-
GID
-
组中附加用户
-
-
影子文件
-
-
/etc/shadow:用户影子文件
-
/etc/gshadow:用户组影子文件
-
-
内置命令和外置命令
-
-
内置命令:内部命令实际上是shell程序的一部分,包含的是一些简单的linux系统命令,这些命令由shell程序识别并在shell程序内部完成运行,通常在linux系统加载运行时shell就被加载并驻留在系统内存中。内部命令执行速度比外部命令快,因为解析内部命令shell不需要创建子进程。比如:exit,history,cd,echo等。
-
外置命令:外部命令是linux系统中的实用程序部分,包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调用内存。通常外部命令的实体并不包含在shell中,但是其命令执行过程是由shell程序控制的。shell程序管理外部命令执行的路径查找、加载存放,并控制命令的执行。外部命令是在bash之外额外安装的,通常放在/bin,/usr/bin,/sbin,/usr/sbin......等等。
-
which:如果是内部命令就不会显示路径,反之亦然
-
-
who:查看登录用户,参
-
修改用户组
-
-
usermod -g slime user1:把user1的初识组修改为slime
-
-
-
usermod -G user1,user2 user1:把user1和user2附加为user1的附加组
-
usermod -s /bin/sh user1:给user1修改shell
-
-
用户权限(r=4,w=2,x=1对应可读,可写,可执行(如window下的.exe))
-
-
用户名——所属组——其他
-
chmod u=rwx,g=rwx,o=rwx 文件名
-
chmod 777 文件名(权限爆满)
-
chown user1 文件名:把文件名的拥有者修改为user1
-
chgrp user1 文件名:把文件名的所属者修改为user1
-
-R:递归修改文件夹下的子文件
-
远程管理命令
-
shutdown
-
-
不加任何选项,将在一分钟后关机
-
+10:10分钟后关机
-
-c:取消这次操作
-
-r:重启
-
-
我们可以把电脑比作电话,网卡相当于SIM卡,ip地址 相当于电话号码
-
scp -P port hello.txt user@remote:Desktop/Demo:把本地目录下的hello.txt复制到远程家目录下的Desktop/Demo(注意:“:”后面的路径不是绝对路径,是以用户的家目录作为参考)
-
scp -P port user@remote:Desktop/ hello.txt Demo:把远程家目录下的Desktop/hello.txt复制到本地目录下的Demo
-
加上-r就可以传送文件夹
系统信息
-
date:查看系统时间
-
cal:查看日历
-
-
-y:查看一年的日历
-
-
df -h(disk free):显示磁盘剩余空间
-
du -h[目录名](disk usage):显示目录下的文件大小
-
ps aux(process status):查看进程的详细状况(ps默认只会显示当前用户通过终端启动的应用程序)
-
-
a:显示终端上的所有进程,包括其他用户的进程
-
u:显示进程的详细状态
-
x:显示没有控制终端的进程
-
-
top:动态显示运行中的进程并排序(退出按q)
-
kill[-9] 进程代号:终止指定代号的进程,-9表示强行终止(使用kill命令时,最好只终止当前用户开启的进程,而不要终止root身份开启的进程,否则导致系统崩溃)
打包解包压缩解压缩
-
tar
-
-
tar是Linux中最常见的命令,可以把一系列文件打包到一个大的文件夹中,也可以把一个打包的大文件恢复成一系列文件
-
-
-
tar -cvf 打包文件.tar 被打包的的文件/路径
-
-
-
-
c:生成档案文件,创建打包文件
-
-
-
v:列出归档解档的详细过程,显示进度
-
-
-
f:指定档案文件名称,f后面一定是.tar文件,所以必须放选项后面
-
-
-
-
tar -xvf 打包文件.tar
-
-
x:解开文档文件
-
-
-
gzip
-
-
用gzip压缩tar打包后的文件,其扩展名一般是xxx.tar.zip
-
在tar命令中有一个选项-z可以调动gzip。从而可以方便实现压缩和解压缩的功能
-
压缩文件
-
-
tar-zcvf 打包文件.tar.zip 被压缩的文件/路径
-
-
解压缩文件
-
-
tar -zxvf 打包文件.tar.zip
-
-
解压缩到指定路径
-
-
tar -zxvf 打包文件.tar.zip -C 目标路径
-
-
-
bzip2
-
tar与bzip2命令结合可以实现文件打包和压缩(用法和gzip相同)
-
压缩文件
-
-
tar -jcvf 打包文件.tar.bz2 被压缩文件/路径
-
-
解压缩文件
-
-
tar -jxvf 打包文件.tar.bz2
-
后面可以跟上-C,加上解压缩路径
-
-
软件安装
-
通过apt安装/卸载软件
-
-
apt是Advanced Packaging Tool,是Linux下的一款安装包管理工具
-
安装软件
-
-
sudo apt install 软件包
-
-
卸载软件包
-
-
sudo apt remove 软件包
-
-
更新已安装的包
-
-
sudo apt upgrade
-
-
-