Linux

Linux
服务器加操作系统是硬件方面,软件方面的(Tomcat、Nginx)
Unix
Tcp/ip unix 贝尔实验室 AT&T 美国的电信公司
打包在一起,以非商业许可证的形式授权给美国的各个高校机构
FreeBSD:美国加州大学伯克利分校得一个发行版本。MasOs

Linux的文件系统:和windows有较大区别,没有盘符的概念。
根目录 / 下一级有很多目录:

/bin: bin 就是二进制(binary)英文缩写。在一般的系统当中,都可以在这个目录下找到 linux 常用的命令。系统所需要的那些命令位于此目录。
/boot: Linux 的内核及引导系统程序所需要的文件目录。
/dev: dev 是设备(device)的英文缩写。这个目录对所有的用户都十分重要。因为在这个目录中包含了所有 linux 系统中使用的外部设备。但是这里并不是放的外部设备
的驱动程序。这一点和常用的 windows,dos 操作系统不一样。它实际上是一个访问这些外部设备的端口。可以非常方便地去访问这些外部设备,和访问一个文件,一个目
录没有任何区别。
/etc:存放的一些配置文件
/home:每一个用户的家目录(Linux可以多个用户操作)、如果建立一个用户,用户名是"xx",那么在/home 目录下就有一个对应的/home/xx 路径,用来存放用户的主目录。家目录
/lib:lib 是库(library)英文缩写。这个目录是用来存放系统动态连接共享库的。几乎所有的应用程序都会用到这个目录下的共享库。因此,千万不要轻易对这个目录进行什
么操作,一旦发生问题,系统就不能工作了。
/mnt:
/root: root用户家目录
/sbin:supre 超级管路员才能执行
/var:可变的,日志目录
/proc /srv /sys :操作系统需要的内核:不要动
/usr:这是 linux 系统中占用硬盘空间最大的目录。 用户的很多应用程序和文件都存放在这个目录下。 Unix software resource usr。类似 windows 系统的 program files
/usr/local:这里主要存放那些手动安装的软件,即不是通过或 apt-get 安装的软件。它和/usr 目录具有相类似的目录结构。
/usr/share:系 统 共 用 的 东 西 存 放 地 , 比 如 /usr/share/fonts 是 字 体 目 录 ,/usr/share/doc 和/usr/share/man 帮助文件。
/mnt: 可供系统管理员使用,手动挂载一些临时设备媒体设备的目录。
/media:是自动挂载的目录。当把 U 盘插入到系统中,会自动挂载到该目录下。 比如插入一个 U 盘,会自动到/media 目录中挂载。
ssh协议:secure shell
22端口号,应用层协议 ftp协议,http协议
远程登录
利用ssh协议,本机向linux服务器发送一个ssh请求。
1、默认情况下,安装ubuntu没有ssh server sudo apt install openssh-server
apt 是ubuntu中的一个软件管理工具,请求它的服务器,去寻求叫做openssh-server的软件
2、用客服端发送请求
客户端是什么 xshell6 secureCRT
3、还需要一个传输文件的工具: winscp filzilla
上传jar包,war包,安装jdk,tomcat

命令:
sudo: supre user don 超级管路员操作
reboot 重启
Cd
两种路径写法:
绝对路径 从/开始(不用管是在哪个目录)
相对路径 从当前目录开始 cd .当前目录 cd …
cd~,家目录,root用户的家目录 /root 其他非root用户家目录 /home/用户名
ls (list directory contents)
-显示当前目录文件和文件夹
-a显示所有隐藏文件
-l 更加详细的情况显示
-lh 更加阅读的形式显示

man
man ls 提示怎么用 q退出
文件操作
mkdir 用于创建目录
用法: mkdir [选项] 要创建的目录
选项: -p 用来创建多级目录
mkdir -p 2019/12
rmdir:删除空目录
如果希望删除非空目录,那么则执行以下代码
rm -rf 目录
touch 用来创建一个空文件
用来创建一个空文件。
touch 文件名 1 文件名 2(可以创建多个文件)
cp、mv、rm
cp:用来进行复制文件。
用法: cp 文件 目录/
如果需要递归复制一个目录下所有文件,则
cp -r 目录 1 目录 2/
mv:移动文件/文件夹或者重命名
mv old-filename new-filename(重命名,同一目录下)
mv /hello/file1 file2 (移动文件)
rm:删除对应的文件或者文件夹
用法: rm [选项] 文件夹
选项:
-r 递归删除整个文件夹
-f 强制删除不提示
cat、 more、 less、 head、 tail
cat:以只读的方式打开一个文件。 可以加 -n 表示带上行号(适合查看文件内容比较少的)
less: 也用来分页显示数据,但是功能比 more 强大。 并不会一次性将全部文件读取才显示,
而是根据显示的需要加载对应的数据。
Pg UP, Pg Dn:向上,向下分页查看;
上下方向键:向上,向下按行移动;
head: 查看一个文件,取开头的一部分内容。
head filename,或者添加选项: head -5 filename
tail:查看一个文件的尾部内容。
tail filename 或者添加选项 tail -5 filename,以及更加普遍的一个用法:
tail -f filename,尾部持续不断地输出内容。
echo、重定向和追加
echo:输出内容到控制台。 比如输出 Linux 的环境变量到控制台:
echo $PATH
或者 echo “hello”

指令:输出重定向(会将原来的内容覆盖)

指令:追加(不会覆盖原文件的内容,追加到底部)
比如:
echo hello > a.txt
ls -l >> a.txt
cat a.txt > b.txt(文件可以存在,可以不存在)a中内容复制到b
tar 压缩
既可以打包又可以解压。 用法:
tar [选项] xxx.tar.gz 文件
选项:
-c:产生.tar 文件
-v:显示详细信息
-z:打包同时压缩
-f:指定压缩后的文件名
-x:解压.tar 文件
将多个文件打包到一个压缩包中
tar -zcvf combine.tar.gz 1.txt 2.txt 3.txt

find、 grep、管道符
find 指令,可以用来查找文件,用法:

grep: 过滤查找。
用法: grep [选项] 查找内容 源文件
选项:
-n 显示匹配的行及行号
-i 不区分大小写
管道符: |,表示将前一个命令处理的结果传递给后面的命令处理
文本编辑
Ubuntu 默认没有安装 vim,需要先安装 vim。
sudo apt-get install vim
Vim 有三种模式: 命令模式(Command mode) 、 插入模式(Insert mode) 、 末行模式(Last Line mode) 。
通过指令vim filename 进入命令模式。 除此之外,还有一些其他的参数,比如:

命令模式
Vim 打开一个文件(文件可以存在,也可以不存在),默认就是进入命令模式。 在该模式下,输入的字符会被当做指令,而不会被当做要输入的文字。 在该模式下,可以使用指令进行跳至文章开头、文章结尾、删除某行、复制、粘贴等内容。比如进行查找:

删除的内容此时并没有真正的被删除,在剪切板中,按下 p 键,可以将删除的内容粘贴回
来。
复制文本

移动光标:
有时候可能需要快速移动至一行中某个位置 ,可以以单词为单位来移动

移动至行首或者行末:

插入模式
在命令模式下,通过按下 i、 I、 a、 A、 o、 O 这 6 个字母进入插入模式,不同的字母代表不
同的进入方式。
按下 ESC 键离开插入模式,进入命令模式。
末行模式
在命令模式下, 按下:键进入末行模式。 在该模式下,可以使用一系列的指令,完成保存、
离开 vim 编辑器等功能。

用户管理
Linux 系统是一个多用户、多任务的操作系统。多用户是指在 linux 操作系统中可以创建多个用户,而这些多用户又可以同时执行各自不同的任务,而互不影响。 和 windows 系统有很大区别。

在 Linux 系统中,会存在着以下几个概念,
1.用户名: 用户的名称
2.用户所属的组:当前用户所属的组。
3.用户的家目录: 当前账号登录成功之后的目录,就叫做该用户的家目录。

系统安装好默认的 root 用户是没有密码的,需要给 root 设置一个密码
sudo passwd root
添加用户
通过指令 cat /etc/passwd 查看

给 ming 用户添加密码: sudo passwd ming。
更换其他用户:
su ming;或者更换为 root 用户: su 即可。
用默认生成的账号登录 linux 服务器,由于 ming 没有家目录,则无法远程登录。
Useradd -m ming 新建用户成功之后,会建立家目录,但是此时有问题没有指定 shell 的版本,不是我们熟知的 bash,功能上有很多限制。sudo useradd -m -s /bin/bash ming
删除用户
指令为: sudo userdel ming。其中一定要保证 ming 用户已经注销。 之后再次通过 cat
/etc/passwd 来验证。
sudo userdel -r ming,不仅会删除该用户,还会删除对应的家目录。
组管理
添加组: groupadd 组名
创建用户的时候加入组: useradd -m -s /bin/bash -g 组名 用户名
查看用户及组信息: id 用户名
修改用户所属组: usermod -g 组名 用户名
时间设置
date 指令查看时间
date “+%Y-%m-%d %H:%M:%S”
权限管理
1.2.7.1 更改文件所属者
指令 chown 用户名 文件名
更改文件所有者, 但是文件所属的组这个时候并没有发生变更,这点需要特别注意。
文件权限

前面 10 个符号表示文件的一些基本信息。
第 1 位: -表示是一个普通的文件; d 表示是一个目录;(最常用)
第 2-4 位:表示文件所有者的权限, rw-,表示有读写权限。
第 5-7 位:文件所在组的其他用户拥有的权限, r–,表示仅有读权限
第 8-10 位:文件其他组用户拥有的权限, r–,表示有读权限

rwx:读写执行权限。
针对是目录还是文件,有不同的表现行为:
目录:(r 权限决定了用户是否可以 ls 出目录内容,而 x 权限决定了用户是否可以 cd 到
该目录)

  1. read: 表示有读取目录内容的权限,即可以使用 ls 命令查看该目录的内容列表
  2. write: 表示有更改目录的权限,即可以在此目录下新建文件或子目录、删除文
    件或子目录、重命名文件或子目录、挪动该目录内的文件或子目录等
  3. execute: 表示可以进入该目录,即可以使用 cd 命令进入该目录
    文件:(针对文件内容,而不是针对文件本身)
  4. read:可以读取文件内容,打开文件
  5. write:可以编辑该文件内容,增删改文件内容
  6. execute:执行文件
    修改文件权限
    通过 chmod 指令,可以修改文件或者目录的权限。
    方式一
    u:所有者 g:所有组 o:其他组,a 代表全部
  7. chmod u=rwx,g=rw,o=r filename
  8. chmod o + w
  9. chmod a – w
    方式二
    r=4,w=2,x=1 rwx = 4 + 2 + 1 = 7
    chmod 751 等价于 u=rwx,g=rx,o=x
    进程管理
    查看进程
    Linux 系统中查看进程使用情况的命令是 ps 指令
    常见选项:
    -e:显示所有进程
    -f:全格式
    a:显示终端上的所有进程
    u:以用户的格式来显示进程信息
    x:显示后台运行的进程
    一般常用格式为 ps -ef 或者 ps aux 两种。 显示的信息大体一致,略有区别。
    ps -aux
    USER:用户名称
    PID:进程号
    %CPU:进程占用 CPU 的百分比
    %MEM:进程占用物理内存的百分比
    VSZ:进程占用的虚拟内存大小(单位: KB)
    RSS:进程占用的物理内存大小(单位: KB)
    TT:终端名称(缩写),若为?,则代表此进程与终端无关,因为它们是由系统启动的
    STAT:进程状态,其中 S-睡眠, s-表示该进程是会话的先导进程, N-表示进程拥有比
    普通优先级更低的优先级, R-正在运行, D-短期等待, Z-僵死进程, T-被跟踪或者被
    停止等等
    STARTED:进程的启动时间
    TIME: CPU 时间,即进程使用 CPU 的总时间
    COMMAND:启动进程所用的命令和参数,如果过长会被截断显示
    ps -ef
    UID:用户 ID
    PID:进程 ID
    PPID:父进程 ID
    C: CPU 用于计算执行优先级的因子。数值越大,表明进程是 CPU 密集型运算,执行优
    先级会降低;数值越小,表明进程是 I/O 密集型运算,执行优先级会提高
    STIME:进程启动的时间
    TTY:完整的终端名称
    TIME: CPU 时间
    CMD:完整的启动进程所用的命令和参数

两者区别:
如果想查看进程的 CPU 占用率和内存占用率,可以使用 aux
如果想查看进程的父进程 ID 和完整的 COMMAND 命令,可以使用 ef
终止进程
kill [选项] 进程号
选项:
-9:表示强迫进程必须终止
服务管理
服务本质上来说也是一个进程,只不过是在后台运行。 监听着某一端口,等待该端口的
请求到来,比如 ssh 服务,监听着 22 端口; mysql 服务,监听着 3306 端口; tomcat 服务,
监听着 80 或者 8080 端口。
指令:(管理服务器的启动、停止、 状态等)
systemctl start/stop/restart/status/reload 服务名称
比如关闭 ssh 服务, systemctl stop sshd
再次通过 shell 连接 linux 就无法连接。
重新开启: systemctl start sshd

如何查看 linux 机器中服务的名称呢???
systemctl list-units,从中找出 ssh.service
网络管理
查看网络设置
ifconfig
查看网络端口
netstat 命令,查看当前 linux 系统中网络端口情况
选项
-a:显示全部
-n:以数字的形式显示
-p:显示该连接被哪个应用程序占用 PID
监测网络是否连通
ping 目的 ip
在linux中安装jdk tomcat 配置环境变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值