Ubuntu是常见的三大操做系统Windows、MacOS、Linux中,linux的其中一个发行版;linux系统有着种类繁杂的发行版,其中RedHet、CentOS、Ubuntu、Debian、Deepin(国人开发)等。
Linux主要应用于服务器操做系统,它相对与Windows更加的稳定和安全。html
linux 系统文件结构为目录树结构,java
/ /home/vfx /root /bin /mnt /etc/ 根目录,相似与windows的C盘,linux的/根目录包含其余全部的目录,是其余目录的父级。 /home/vfx 用户文件夹,在home下每当建立一个用户,都会建立一个用户文件夹,当前用户是fx。 /root 管理员文件夹,每一个系统都有一个管理员,该用户拥有当前系统的最高权限。 ......
linux文件的权限机制有利与保护系统的安全,避免用户的误操做。
对于普通用户来讲,可以操做和修改的文件仅限于当前用户的文件,管理员则能够管理包括系统文件在内的全部文件。python
例:列出home下fx用户的全部项mysql
ls /home/vfx
模板 图片 下载 桌面 snap
公共的 视频 文档 音乐 Documentslinux
tips:
在linux终端操做时可使用Tab来补全未写全的命令,使用上下健来获取操做命令历史。redis
例:切换到home下的vfx目录下sql
cd /home/vfx
tips:
linux的几个特殊的目录:
~ 表明当前用户的主目录
. 表明当前目录
.. 表明上一级目录
cd ~ 切换到主目录
cd ~/home 切换到主目录下home目录下
cd ../maxman 切换到上一级目录下一个名字叫maxman子目录下shell
例:建立一个名字为python的文件夹ubuntu
mkdir python
例:在home下建立一个名字为maxman的文件夹vim
mkdir /home/maxman
建立多层文件夹(一次性建立多个层级嵌套的文件目录树) -p
mkdir -p /new/max/man
例:删除maxman目录
rm -rf maxman
这里的r表示recursive递归删除,f即是force强制删除(谨慎使用)
例:复制maxman到用户目录下
cp -rf maxman /home/vfx
例:重命名maxman为houdini
mv maxman houdini
这是manman目录就会变为houdini,若是houdini已经存在,则自动变为houdini1或者houdini...
tar -cvf maxman.tar maxman
-cvf打包,其中c表示create建立档案,v表示verbose显示详情,f表示文件
也能够一次打包多个文件"tar -cvf xxx.tar file0 file1 file2"
tar -xvf maxman.tar -C /home/manman
-xvf解包,其中-C(大写)用来指定解包后文件要存放的地址,不指定默认解包到当前目录下
归档并压缩
-cfx -xvf
只是对文件目录进行打包和解包,没有对文件进行压缩;
-czvf -xzvf
则是在打包或解包时同时对文件进行压缩和解压缩处理;
一般所见到的*.tar.gz格式就是压缩打包形式
使用ln命令(link)来建立软连接
ln -s source link
其中,-s表示soft软连接(默认为硬)
ln -s maxman /home/vfx/桌面/manman
链接maxman到桌面的maxman
vi/vim,是一个基于控制台的文本编辑器,vim是vi的升级版
gedit,是一个基于GUI的文本编辑器
vim name.txt #打开name.txt文件,若是该文件存在则打开编辑,若是不存在则建立后打开
若是系统上没有vim,可使用"sudo apt install vim"安装
模式的切换
编辑模式Insert Mode 按键盘i键进入
命令模式Command Mode 按键盘ESC键进入
保存和退出命令
:wq 保存并推出
:q 退出
:q! 强制退出
:qw! 强制保存退出
vim 是一个全键盘操做的文本编辑器,工做效率比较底,掌握基本的用法便可,若是须要了解更多复杂的操做能够到网络上临时搜索用法便可
本人推荐使用vscode简单、强大、漂亮
添加用户
sudo useradd -m username
sudo表示使用管理员的身份执行操做,-m表示在/home下添加用户目录
删除用户
sudo userdel username
修改用户密码
sudo passwd username
除了管理员,还有特殊用户和普通用户的区别,区别在于特殊用户能够在命令前加sudo来暂时使用管理员权限,普通用户则不能够;能使用sudo权限的用户为sudoer
首次使用root用户须要设置管理员密码
sudo passwd root
切换到root用户
su root
su表示switch user
退出管理员权限
exit
ls -l
-rwxrwxrwx
drwxrwxr-x
使用ls -l 能够列出文件的权限信息,列出的字符中前面的十个字符第一个(红色)表示文件类型,-表示文件,d表示目录,l表示连接;而后剩下的九个三个为一组分别表示当前用户的权限、同组用户对该文件的权限、其余用户对该文件的权限;
r表示可读,w表示可写,x表示可执行,每一组都用rwx来表示权限,-表示权限禁止;
rxw可读可写可执行 rx-可读可写不可执行 r--可读不可写不可执行 ---不可读不可写不可执行
chmod,即change file mode 修改文件的访问权限
好比,一个文件想让其余用户可写
chmod o+w file
其中,o表示其余人;+w表示增写write权限;-w表示除去写入write权限
a表示全部人;u表示当前用户;若是w前不指定对象,则表示应用与当前用户及其所在组用户的权限
chown,即change owner修改文件的属性
通常来讲,每一个用户都只对本身的文件进行操做,不多使用到这个命令
chown -R vfx /opt/maxman
将/opt/maxman目录(-R及其子目录)的属主改成vfx用户
脚本Script,一种解释执行的程序。
Linux下常见的三种脚本程序
-shell脚本 *.sh
-Pell脚本 *.pl
-Python脚本 *.py
shell脚本,是linux自带的脚本语言,相似与windows下的dos批处理脚本
#!/bin/sh echo "hello,world"
一个简单的打印hello world的shell脚本
chmod +x hello.sh
添加执行权限
./hello.sh
执行shell脚本
书写shel脚本时第一行要声明(#!/bin/sh)解释器,要拥有执行权限才可执行
典型的环境变量,PATH,JAVA_HOME
#!/bin/sh OUTDIR=/opt #定义变量 echo"output to : ${OUTDIR}" #使用变量 ls ${OUTDIR}
定义变量NAME=alue等号的左右两侧不要有空格
使用\({NAME}来调用变量,若是有定界符,则能够简写为\)NAME,例如 echo ${NAME}/build
经常使用命令 exho打印 ls列出目录 cd跳转位置 cp复制文件目录
if逻辑判断 while循环逻辑
export OUTDIR=/opt #环境变量的定义 echo ${OUTDIR} #显示环境变量 printenv #显示当前系统的全部环境变量
在命令行中定义的环境变量,只有对当前shell终端有效;当终端关闭、重启后消失;
tips:使用"ls -a"能够查看当前目录下的全部文件(包括隐藏文件)
gedit ~/.profile #打开.profile用户隐藏文件件 export PLUGIN_PATH=/opt/houdini_plugin #添加自定义变量到.profile内 echo $PLUGIN_PATH #注销或重启系统后生效
经过.profile添加的环境变量,对当前用户有效,每一个有户都有本身的.profile文件;有的linux系统中使用的是.bash_profile文件
系统环境变量定义在"/etc/profile"文件中,在这里定义的环境变量对当前系统下的全部用户有效
sudo gedit /etc/profile #通常不会直接修改/etc/profile,而是在/etc/profile.d建立一个自定义的脚本 sudo gedit /etc/profile.d #添加自定义全局变量到/etc/profile.d目录下 sudo gedit /etc/profile.d/new.sh #建立一个名字为new.sh的脚本,在上面添加自定义全局变量export PATH=/opt/hfs18.5.358
注销重启后生效
PATH,最多见的一个环境变量,用于描述可执行程序的搜索路径
echo $PATH #显示当前系统PATH环境变量
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
每一个路径用冒号隔开
#!/bin/sh export PATH=$PATH:/opt/houdini_plugin
这里$PATH引入当前已有的变量,不引入会覆盖以前的PATH
sbin目录下的为超级管理员root才能够执行的程序
/usr/下是系统自带的程序
/usr/local/下是用户安装的程序
ifconfig #查看当前网络配置,默认系统没有安装”sudo apt install net-tools“
ifconfig会列出当前系统全部的网络接口及接口的状态信息,其中if表示interface网络接口;第一行冒号前面的字符就是网络接口的名字
sudo ifconfig xxxx up #开启网络接口 sudo ifconfig xxxx down #关闭网络接口
在部署网站等须要使用到云服务器操做时,都会将本地的文件上传到云服务器上,这时就须要使用网络传输的方式将文件部署到云端。
网络传输通常有FTP、SFTP两种方式。
客户端 FileZilla(Windows)
服务器 vsftpd(Ubuntu)
略......
使用Xshll远程登录
使用Xftp传输文件
略......
文本文件的换行符
Windows: \r\n
Linux: \n
程序Program:指一个程序文件,如houdini.exe
进程Process:但一个程序在系统上运行是,系统会建立一条用来描述程序运行状态的记录,这个记录就叫作进程
ps -ef查看系统全部进程
User执行者,PID进程ID,PPID父进程ID,STIME启动时间,CMD启动时调用的命令行
ps -ef | grep houdini #vfx 43668 1538 82 11:56 ? 00:00:13 /opt/hfs18.5.351/bin/houdinifx-bin #vfx 43738 39606 0 11:57 pts/0 00:00:00 grep (省略) -dir=.tox houdini
按名字查找进程,"ps -ef"将读取的信息输出,重定向给"grep"命令进行过滤处理
ps -ef | grep xxxx 经常使用命令,必记
使用top命令动态查看系统进程
top
按上下键翻阅或者PaUp和PaDn翻页预览
按q或者CLRT+C终止退出
top | grep houdini #查看houdini动态进程 top - p 43668 #"top -p PID"能够查看进程详细的使用状态
top -p xxxx 经常使用命令,必记
使用kill杀死终结系统进程
kill -9 PID #PID进程id号,使用"ps -ef"查看
使用pkill查找并杀死终结系统进程
Ctrl+C 终止进程
差别1:有无控制台
前台进程,有控制台,运行结果输出至当前终端
后台进程,无控制台,看不到输出(运行状态)
差别2:有无父进程
前台进程,有父进程,父进程即当前终端;当终端关闭时,进程被一同关闭
后台进程,有父进程,父进程为系统进程(1号进程);当终端关闭时,后台进程不受影响
xxxx run之前台方式运行
xxxx start之后台方式运行
MySQL跨平台,"免费"
MariaDB是MySQL的免费开源版本
MySQL安装配置
特别感谢阿发你好提供的学习资料