linux

  1. linux
    (c、Javascript、Java、Python)
    集成环境 dw/ws eclipse myeclipse

    1. 编程语言的学习最好在linux操作系统下
  2. web开发的部署环境
    静态页面
    动态网站
    接口服务
    linux作为服务器(网页)

  3. 嵌入式操作系统
    linux -> 硬件系统
    linux内核
    android
    ubuntu
    红帽子

  4. unix
    免费开源
    linux(unix)
    linux 开源
    c语言、python库
    github 贡献

  5. ubuntu16.04
    双系统
    虚拟机
    云服务器(操作系统)

  6. linux多人协作系统
    计算机组成原理
    计算机网络
    c语言
    操作系统

    外网ip地址
    管理员用户名 root
    管理员密码 xxx

    1. 登录到linux系统上
      超级管理员账号(一般不使用)
      普通账号

      mac(linux)
      ssh user@ip
      windows
      xshell
      putty

    2. 用户相关功能(超级管理员)
      $ adduser 用户名
      输入密码

       创建了一个与用户名同名的组
       创建一个指定用户名账号的用户
       将用户添加到组中
       创建家目录 /home/用户名
       将用户基本配套复制到用户家目录中
      
       组长 root
       	licy/xxx
      
       /etc/passwd
       	用户信息文件
       /etc/shadow
       	用户信息保密文件
       /etc/group
       	用户组的信息
      
       $ sudo more /etc/shadow
      
       普通用户的在sudoers中配置之后才能够使用sudo完成超级管理员所能做的事情。
      

      $ userdel -r 删除用户
      $ passwd 用户名 修改指定用户的密码

    3. 切换账号
      $ su - 用户名
      如果当前用户是root,不需要输入密码
      如果当前是普通用户,需要输入密码

       licy@VM-0-9-ubuntu:/etc$ 
       licy 						当前用户
       @								分割符号
       VM-0-9-ubuntu 	计算名
       	如果想要修改,直接修改/etc/hostname文件即可
       :								分割符号
       /etc 						当前所在路径
       $ 							分割符号
      
    4. linux目录结构
      没有盘符概念
      所有目录都位于根目录下 /
      /home 普通用户家目录
      /home/licy
      /home/charles

      /root 超级管理员的家目录
      /etc 核心配置目录
      /opt 第三方文件解压安装目录
      /usr 文件安装目录
      apt-get install

      普通用户只具备家目录中的更新(增加,修改,删除)权限

    5. 路径
      . 当前
      … 上一级
      / 根
      ~ 家
      相对路径
      以 .或者…开头的路径
      $ cd es5
      =>
      $ cd ./es5
      绝对路径
      以为/开头的路径
      cd /home/charles/es5

    6)文件系统操作
    创建目录
    $ mkdir 目录名称 [目录名称2]

     eg:
     	$ mkdir app01 app02
     	$ mkdir -p app/a/b/c		
    
     创建文件
     $ touch 文件名称
    
     拷贝
     	$ cp a.txt dir1
     	$ cp -r dir1 dir2
    
     移动或重命名
     	$ mv a.txt dir1
     	$ mv dir1 dir2
     	当dir2存在,移动到dir2中;否则重命名为dir2
    
     删除文件或目录
     	$ rm a.txt
     	$ rm -r dir1
     	$ rm -ir dir1
    
     删除空目录
     	$ rmdir dir1
     压缩打包
     	$ zip all.zip *.txt
     解压到当前目录下
     	$ unzip all.zip
     解压到指定目录下
     	$ unzip all.zip -d exdir
     压缩格式:
     	gzip 		-z
     	bzip2 	-j
     归档
     	$ tar -cvf all.tar *.txt
     归档并且压缩
     	$ tar -cvzf all.tar.gz *.txt
     	$ tar -cvjf all.tar.bz2 *.txt
     解压
     	$ tar -xvf all.tar.gz
    
  7. 修改权限
    1) 关键字
    u /g /o /a

     	r/w/x
    
     	+/-/=
     2) 八进制
     	r-- 	100 	4
     	-w-		010		2
     	--x 	001		1
     	rw- 	110 	6
     	r-x 	101 	5
     	rwx 	111		7
     	-wx		011		3
    
     	chomd 651 a.txt
     	对于a.txt,拥有者具有读写权限,同组人具有读执行权限,其他人具有执行权限
    
  8. 管道应用
    $ ls -l /etc | more
    以长格式查看etc下所有文件,使用more的方式来展示
    $ ps -ef | grep java
    找到系统中java相关进程

     $ find ~ -name java | grep java
    
  9. 文本编辑器的应用
    vi
    1. 打开
    直接打开vim
    通过vim打开一个文件
    2. 模式切换
    命令行模式
    命令行->编辑
    i I
    a A
    o O
    命令行->底行
    :
    w a.txt
    q
    w!
    q!
    wq
    其他设置
    set nu
    /
    ?
    编辑模式【最下有insert】
    底行模式【最下有: / 并且光标闪烁】
    3. 命令行命令
    yy
    p
    dd
    4. vim的配置
    ~/.vimrc

     	set nu
     	...
    
     	第三方配置spf13
     	安装git
     		# apt install git
     		# git --version
     	安装spf13
     		$ curl https://j.mp/spf13-vim3 -L > spf13-vim.sh && sh spf13-vim.sh
    
  10. 基础命令
    $ clear 清理屏幕
    $ cd 更改目录
    $ ls 查看当前目录下的文件以及子目录
    -a 所有
    -l 长格式
    -R 递归显示目录树
    drwxr-xr-x 2 licy licy 4096 Aug 12 10:20 .

    	d 	目录
    	- 	普通文件
    
    	rwxr-xr-x  
    	rwx 	当前用户对于该文件的权限 	read/write/execute
    	r-x 	同组人对于该文件的权限
    	r-x 	其他人对于该文件的权限
    
    $ pwd 			打印当前所在目录
    $ more 			预览
    	回车 	下一行
    	空格		下一页
    	q 		退出
    $ tail 			预览后10行
    $ head 			预览头10行
    $ man	命令
    	打开指定命令的命令手册
    	q 		退出
    
  11. sudo
    以超级管理员身份运行
    root
    boss
    /etc/sudoers

  12. 进程相关
    $ nohup java -jar homework.jar &
    将这个服务在后台运行
    $ ps aux | grep java
    寻找java相关进程
    $ kill -9 30469
    杀死进程号为30469的进程
    $ sudo netstat -ap
    用超级管理员身份列出当前系统占据所有的端口以及相对应的进程编号
    8099 - 31757
    $ ifconfig
    查看当前路由信息(ip)
    处于同一局域网中的多个主机可以通信
    路由器
    如何登陆到路由器的管理系统
    172.16.0.1
    172.16.0.20
    http://172.16.0.1
    拨号
    自动ip 猫
    $ sleep 100s &
    $ jobs / $ ps -ef | grep sleep

  13. 安装apache
    $ sudo apt install apache2
    在浏览器中访问
    http://152.136.136.220/
    如果打不开
    $ service apache2 status

    $ service apache2 restart
    
    apache默认部署目录
     	/var/www/html/wangyi/index.html
    http://152.136.136.220/wangyi/
    
  14. vsftp安装
    vsftpd/subversion/nodejs/jdk/mysql
    1) ftp
    作用:将客户端中的网页上传到云服务器上
    1.1 在客户端安装fillzilla
    1.2 在服务器端安装vsftpd
    $ sudo apt get install vsftpd

    		$ vsftpd -version
    		vsftpd: version 3.0.3
    2) 配置
    	$ sudo vi /etc/vsftpd.conf
    	31行的注释放开即可
    3) 重启
    	$ sudo service vsftpd restart
    4) 使用fillzilla进行测试
    
  15. subversion
    版本控制器服务版
    1) 安装
    $ sudo apt install subversion
    2) 测试
    $ svn help
    3) 创建仓库
    $ cd ~
    # 创建仓库目录,使用svnadmin初始化为svn仓库
    $ mkdir repository
    $ svnadmin create repository/
    $ ls repository/
    conf db format hooks locks README.txt

    4) 修改配置文件
    	1. 核心配置
    		/repository/conf/svnserve.conf
    		$ vi svnserve.conf
    		19 anon-access = read
    		20 auth-access = write
    		27 password-db = passwd
    		36 authz-db = authz
    	2. 配置账号信息
    		/repository/conf/passwd
    
    	3. 配置权限信息
    		/repository/conf/authz
    
    5) 启动仓库
    	$ svnserve -d -r /home/ubuntu/repository
    
    	svn://152.136.136.220/wangyi
    6) 使用客户端软件(小乌龟)进行连接
    	ip: svn://152.136.136.220/wangyi
    	user
    	passwd
    
  16. nodeJs安装【解压安装jdk/mysql (Java/python服务)】
    $ vsftpd -version
    /usr/bin不在PATH 环境变量的路径
    1) 下载安装包
    1. windows 下载,通过ftp上传云服务器上
    2. 在ubuntu16.04使用wget下载
    $ wget https://nodejs.org/dist/v10.16.2/node-v10.16.2-linux-x64.tar.xz
    2) 解压
    /opt
    node的家目录 /opt/node-v10.16.2
    node的可执行文件目录 /opt/node-v10.16.2/bin

    3) 将bin目录配置到环境变量中
    	当在终端中运行一个命令的时候,系统会遍历PATH知道找到同名的文件,如果找不到提示无法运行,让我们下载并且安装
    
    	系统变量(对所有用户都生效)
    		/etc/profile
    	用户变量
    		/home/xxx/.bashrc
    	$ sudo vi /etc/profile
    	在最后一行后追加
    	export NODE_HOME=/opt/node-v10.16.2
    	export PATH=$PATH:$NODE_HOME/bin
    
    	保存退出
    	$ source /etc/profile
    4) 测试
    	$ node -v
    
  17. 服务器能力:
    1) 文件上传 ftp
    2) 部署,静态服务器 apache
    3) 版本控制 subversion
    小乌龟 -> svn://134.175.154.93
    -4) 数据库 mysql (sql)
    -5) jdk/es6n
    6) node js解析器
    -7) 分布式附件
    fastdfs

    $ vsftpd -version
    usr/sbin不在PATH
    1. vi /etc/profile
    
    export PATH=$PATH:$NODE_HOME/bin:/etc/profile
    
    2. source /etc/profile
    
  18. git
    svn 一般用于公司内部版本控制器(Java)
    tortoiseSVN -> subversion
    本地仓库 远程仓库
    代码 --commit/update–> 代码

    git  	一般用于开源项目,并且可以把开源项目发布到github中
    	git 					-> 		github/码云(gitee)
    	本地仓库							远程仓库
    	
    1. 安装git
    2. 测试
    	> git --version
    3. 使用
    	1) 初始化本地仓库
    	> git init
    	当前目录就成为了git的本地仓库,在当前目录中会产生一个隐藏目录 git
    	2) 查看状态
    	> git status
    
    	3) 将新建文件、修改添加到git中
    	> git add *
    
    	4) 将改变提交为一个版本
    	> git commit -m '[licy]初始化版本'
    
    	请你告诉git你是谁
    	> git config --global user.name="pluslicy"
    	> git config --global user.email="licy@briup.com"
    
    	5) 查看历史版本
    	> git log
    	> git reflog
    
    	6) 时光穿梭
    	> git reset --hard 74ca8
    
    	7) .gitignore
    		让git不去管理指定的文件或目录
    		src
    		node_modules 	第三方依赖,git
    		package.json
    	8) 本地仓库与远程仓库绑定
    		1. 在github/gitee中新建远程仓库
    			public 	任何人都可以查看代码,协作者才可以提交
    			private 只有自己和协作者才可以查看,提交代码
    		2. 绑定
    		> git remote add origin https://github.com/pluslicy/git_web1902.git
    		3. 更新,将远程的主分支值更新到本地
    		> git pull origin master
    		4. 推送,将本地的仓库推送到远程
    		> git push origin master
    		需要输入用户名和密码
    
    	9) 多人协作
    		1. 添加协作者
    		2. 协作者同意后协作者就可以进行提交
    			1) 先将远程仓库克隆到本地
    				> git clone https://github.com/pluslicy/git_web1902.git
    			2) 操作
    				先更新,再提交
    				> git pull origin master
    				> git push origin master
    	10) 注意:
    		提交之前先更新
    		尽量不要多人同时操作一个文件
    		空目录不会直接提交
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值