Linux
是由unix衍生而来(小知识:mac也是使用unix核心),由全世界的程序员一起开发的开源系统。如今基于linux已经有了很多版本,我们后面使用的就是衍生版本之一的Ubuntu。
Ubuntu
安装:https://cn.ubuntu.com/download/server/step1
VMware虚拟机
安装:https://www.vmware.com/cn/products/workstation-pro/workstation-pro-eva luation.html
安装完后需要输入注册码才能使用,网上随便找找
在虚拟机上安装Linux系统的时候,记得打× OpenSSH 意思是安装openssh。
(如果没安装openssh,就安装完Linux执行该命令:sudo apt install openssh-server
Xshell Xftp
安装:需要去网上下载破解版
xshell:用于连接并操作虚拟机(直接操作虚拟机比较麻烦,在window用xshell操作方便点)
xftp:用于将window中的文件传给linux
(两者都是直接新建一个项目,然后输入路由器分配给该虚拟机的ip地址即可连接)
补充:Linux查看ip地址的方法:ifconfig
用户和用户组
介绍:Linux系统需要创建用户才可以操作,创建的每个用户都有相应的数据存放文件(如conan用户在home/conan)。但默认有一个root用户(权限最高,一般不切换到该用户,危!),其的root文件与home同一目录。
因为root权限太高了,所以一般是普通用户使用sudo命令暂时得到root权限执行某个语句
状态信息介绍:格式为:用户名@服务器名称:当前所处的目录$,~代表用户目录,如果不是用户目录,会显示当前的绝对路径地址。
conan@ubuntu-server:~$
用户指令:
查看当前文件所在目录:pwd
切换到root用户:sudo -s
切换用户:su conan
退出当前用户:exit
添加新用户:sudo useradd study -m -s /bin/bash
【在用户创建时顺便创建用户的文件夹,并指定shell(任意一种命令解释程序,用于处理我们输入的命令)为bash】
为用户添加密码:sudo passwd study
删除用户:sudo userdel study
查看当前登录账号(不是正在操作文件的账号):who
查看当前用户所在的用户组:groups
查看当前用户所属的用户组的相关信息:id
查看指定用户的所属用户组的相关信息: id test
为用户添加sudo权限:sudo usermod study -G sudo
(在创建新用户的时候,是没有sudo权限的,需要通过sudo去添加权限)
查询文件夹中的一般文件:ls
查询文件夹中的隐藏文件:la
查询文件夹中all文件的详细信息:ll
(也可以在其后面加文件名,表示查看指定文件的详细信息)
.
..
分别代表当前文件夹,以及上一级文件夹。 可以中间加空格配合以上几个一起使用 如:ls ..
显示上一级的一般文件
切换到某文件夹:cd xx/xx
切换到当前用户下的文件夹:cd ~
文件
文件详细信息介绍
test@ubuntu-server:~$ ls -al
total 44
drwxr-xr-x 4 test test 4096 Jan 24 08:55 .
drwxr-xr-x 4 root root 4096 Jan 24 04:24 ..
-rw------- 1 test test 2124 Jan 24 04:29 .bash_history
-rw-r--r-- 1 test test 220 Feb 25 2020 .bash_logout
-rw-r--r-- 1 test test 3771 Feb 25 2020 .bashrc
drwx------ 2 test test 4096 Jan 21 15:48 .cache
drwx------ 3 test test 4096 Jan 23 14:49 .config
-rw-r--r-- 1 test test 807 Feb 25 2020 .profile
-rw------- 1 test test 34 Jan 24 04:17 .python_history
-rw-r--r-- 1 test test 0 Jan 21 15:52 .sudo_as_admin_successful
-rw------- 1 test test 7201 Jan 24 08:55 .viminfo
第一列:
第一个字符表示:文件类型(-
表示普通文件,l
为链接文件,d
表示目录(文件夹),c
表示字符设备、b
表示块设备,还有p
有名管道、f
堆栈文件、s
套接字等,这些一般都是用于进程之间通信使用的)
第2-4个字符表示(U):文件的拥有者(User)对该文件的权限
第5-7个字符表示(G):文件所属同一用户组(Group)内用户对该文件的权限
第8-10个字符表示(O):其他用户(Other)对该文件的权限
第二列:文件创建的链接文件(快捷方式)数量,一般只有1表示只有当前文件
第三列:该文件或是目录的拥有者。
第四列:文件所属的组。
第五列:文件大小,以字节为单位。(8位一字节)
第六列:文件的最后一次修改时间
最后一列:文件名(前面有.的是隐藏文件,其余为普通文件)
文件指令:
- 创建一个链接文件(就是某文件的快捷方式):
ln .bash_logout kk
(创建后,会生成一个名为kk的文件,我们对此文件的操作相当于直接操作.bash_logout)
-
创建一个普通文件:
touch test01 test02 test 03
-
创建一个文件夹:
mkdir xxx
-
修改文件权限:
-
方法一:
chmod (u/g/o/a)(+/-)(r/w/x) 文件名称
从ugo中选择或是直接a表示所有,+和-表示添加和删除权限举例:
chmod a-w test
意思是test的all权限都减少w的权限 -
方法二:
chmod 三个数子 文件名称
约定:r=4,w=2,x=1,需要什么权限就让对应权限的数字相加,一个数字表示一个rwx的权限状态举例:
chmod 664 test
是指定该文件的权限为-rw-rw-r--
-
-
修改文件拥有者:
sudo chown root test
:将test文件拥有者修改为root -
修改文件所属组:
sudo chgrp root test
:将test文件所属组修改为root -
复制文件:
cp ../test study
:将上一级目录中下的test文件夹中的study文件负责到当前目录(复制的时候要用与当前目录的相对路径去找需要复制的文件)
-
复制文件夹:
cp -r ../test
(-r代表循环文件夹内容) -
移动文件(夹):
mv test study
:移动test文件到study文件夹中此操作必须在两个目录的公共父目录中才可操作
-
重命名文件:
mv test test02
:当检测没有test02这个文件,就会将test文件名更改为test02 -
删除文件:
rm -r test
:删除test文件 (-r是指递归删除文件夹中的内容) -
批量删除同后缀的文件:
rm *.txt
:批量删除当前文件夹内以txt结尾的文件 -
搜索文件:
sudo find /etc -name passwd
:搜索/etc目录下名为passwd的文件 -
批量搜索:
s