Linux

大一菜鸡的个人笔记,欢迎指点和交流。

Linux

Linux中没有错误就代表成功

Linux环境

LAMP(Linux+Apache+Mysql+PHP)或LNMP(Linux+Nginx+Mysql+PHP)

阿里云开放端口

添加安全组规则

Linux_第1张图片

如果要让所有人都可以连接,则在授权对象填0.0.0.0/0

指令

clear 清空屏幕

Ctrl+鼠标滚轮 放大或缩小字体

上传文件使用xftp

命令

概述

ls 列出目录
cd 进入目录
pwd 显示当前目录
mkdir 创建新目录 make dictory
mkdir -p 创建多级目录
cp 复制文件或目录 copy
rm 移除文件或目录 remove
rm -f 忽略不存在的文件,不会出现警告,强制删除
rm -r 删除多层文件夹
rm -i 询问是否删除
rmdir 删除一个为空的文件夹
rmdir -p 删除一个不为空的文件夹 或 层叠的文件夹
mv 移动文件与目录 修改文件与目录的名称

ls命令(查看)

list的缩写,可以查看linux文件夹包含的文件。而且可以查看文件权限,目录信息等。

ls / 打开起始目录
ls -a 列出目录所有文件 包含以.开始的隐藏文件
ls -A 列出除.及..的其他文件
ls -r 反序排列
ls -t 以文件修改时间排序
ls -s 以文件大小排序
ls -h 以易读大小显示
ls -l 把文件名 权限 所有者 文件大小等信息详细列出来

按易读方式按时间反序排序,并显示文件详细信息

ls -lhrt

列出当前目录中所有以t开头的目录的详细信息

ls -l t*

列出文件绝对路径(不包含隐藏文件)

ls | sed "s:^:`pwd`/:"

列出文件绝对路径(包含隐藏文件)

find $pwd -maxdepth 1 | xargs ls -ld

竖着列出

cd命令(进入目录)

changeDirectory

进入目录

cd /目录名
cd .. 返回上一级目录
cd ./当前目录

进入"home"目录

cd ~

进入上一次工作路径

cd -

把上个命令的参数当作cd参数来用

cd !$

pwd命令(查看路径)

用于查看当前工作目录

查看当前路径

pwd

查看软链接的实际路径

pwd -p

mkdir命令(创建文件夹)

用于创建文件夹

  • -m 对新建目录设置存取权限,也可以使用chmod命令设置
  • -p 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统会自动建立号那些尚不存在的目录,即一次可以建立多个目录

在当前工作目录下创建名为t的文件夹

mkdir t

在tmp目录下创建路径为test/t1/t的目录,若不存在,则创建

mkdir -p /tmp/test/t1/t

rm命令(删除文件或目录)

删除一个目录中的一个或多个文件或目录,如果没有使用-r选项,则rm不会删除目录。如果使用rm来删除文件,通常仍可以将该文件恢复原状。

删除任何.log文件,删除前逐一询问确认

rm -i *.log

删除test子目录及子目录中的所有档案,并且不用一一确认

rm -rf test

删除以-f开头的文件

rm -- -f*

删除所有文件

rm -rf / 系统中

rmdir命令(删除子目录)

从一个目录中删除一个或多个子目录项,删除某目录时必须具有对其父目录的写权限。

注意:不能删除非空目录

当parent子目录被删除后使它也成为空目录的话,则顺便一并删除。

rmdir -p parent/child/child11

mv命令(移动文件或修改文件名)

移动文件或修改文件名,根据第二参数类型(如目录,则移动文件;如为文件则重命名该文件)

当第二参数为目录时,第一个参数可以是多个以空格分隔的文件或目录,然后移动第一个参数指定的多个文件到第二个参数指定的目录中。

将文件test.log重命名为test1.txt

mv test.log test1.txt

将文件 log1.txt log2.txt log3.txt 移动到根的test3目录中

mv llog1.txt log2.txt log3.txt /test3

将文件file1改名为file2,如果file2已经存在,则询问是否覆盖

mv -i log1.txt log2.txt

移动当前文件夹下的所有文件到上一级目录

mv * ../

cp命令(复制文件)

将源文件复制到目标文件夹

注意:命令行复制,如果目标文件已经存在则会提示是否覆盖,而在shell脚本中,如果不加-i参数,则不会提示,而是直接覆盖。

-i 提示
-r 复制目录及目录内所有项目
-a 复制的文件与原文件时间一样

复制a.txt到test目录下,保持原文件时间,如果原文件存在则会提示是否覆盖

cp -ai a.txt test

为a.txt建议一个链接(快捷方式)

cp -s a.txt link_a.txt

cat命令(显示、创建、合并文件)

cat主要有三大功能:

  • 一次显示整个文件
cat filename
  • 从键盘创建一个文件 只能创建新文件,不能编辑已有文件
cat > filename
  • 将几个文件合并为一个文件
cat file1 file2 > file

-b 对非空输出行号

-n 输出所有行号

把log2012.log的文件内容加上行号后输入log2013.log这个文件里

cat -n log2012.log log2013.log

把log2012.log和log2013.log的文件内容加上行号(空白行不加)之后将内容附加到log.log里

cat -b log2012.log log2013.log log.log

more命令(逐页展示文件)

空格键为下一页,b键往回一页。

+n 从第n行开始显示
-n 定义屏幕为n行
+/pattern 查找pattern字符串 然后在pattern前两行开始显示
-c 从顶部清屏
-d 提示"Press space to continue,'q'to quit",禁用响铃功能。
-l 忽略Ctrl+l(换页)字符
-p 通过清除窗口而不是滚屏来对文件进行换页,与-c相似。
-s 把连续的多个空行显示为一行
-u 去除下划线

开机登录

开机会启动许多程序,这个在Windows叫服务,在Linux叫守护线程(daemon)

一般有三种登陆方式

  • 命令行
  • ssh(xshell)
  • 图形界面(虚拟机使用)

最高权限账号为root

关机或重启

除非迫不得已否则不关机,关机或重启前必须sync

sync 同步内存数据到硬盘 关机前的安全操作
shutdown 立即关机
shutdown -h 10 10分钟后关机
shutdown -h +10 同上
shutdown -h now 立即关机
shutdown -h 20:25 20:25关机
shutdown -r now 立即重启
shutdown -r +10 十分钟后重启
reboot 重启
halt 关机

Linux目录

  • /bin Binary 存放在最常用的命令

  • /root 存放启动Linux时使用的一些核心文件,包括一些连接文件和镜像文件

  • /dev Device 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。

  • /etc 存放所有系统管理所需要的配置文件和子目录

  • /home 用户的主目录 每个用户有一个自己的目录

  • /lib 存放系统最基本的动态连接共享库,其作用类似于DLL文件

  • /lost+found 一般是空的 当系统非法关机 这里会存放一些文件

  • /media linux会自动识别一些设备,如U盘、光驱等等,当识别后,linux会把识别的设备挂载在这个目录下

  • /mnt 用于用户临时挂载别的系统文件,可以把光驱等挂在/mnt上,然后进入该目录可以看到光驱内的文件

  • /opt 给主机额外安装软件所摆放的目录

  • /proc 这是一个虚拟的目录,它是系统内存的映射,可以通过访问这个目录来获取系统信息

  • /root 超级权限者的用户主目录

  • /sbin Super User 存放管理员使用的系统管理程序

  • /srv 存放一些服务启动之后需要提取的数据

  • /sys 存放文件系统sysfs

  • /tmp 存放临时文件

  • /usr 用户的很多应用程序和文件都存放在这个目录 类似program files

  • /usr/bin 系统用户使用的应用程序

  • /usr/sbin 超级用户使用的比较高级的管理程序和系统守护程序

  • /usr/src 内核源代码默认放置的目录

  • /var 存放不断扩充的东西 我们习惯把经常修改的文件放在这个目录下 包括各种日志

  • /run 是一个临时文件系统 存储系统启动以来的信息 当系统重启,这个目录应该会被清空

  • /www 存放服务器网站相关的资源,环境,项目

    文件基本属性

    Linux_第2张图片

最左边开头表示不同的属性

  • d开头表示是文件夹
  • -开头表示文件
  • l表示为链接文档(快捷方式)
  • b表示外部接口(可随机存取装置)
  • c表示鼠标或键盘等

接下来的字符 每三个为一组

r代表可读 w代表可写 x代表可执行(execute) 如果没有此权限 则用-代替

Linux_第3张图片

Linux_第4张图片

左边的数字表示文件的个数 中间表示属主 右边表示属组(用户组)

Linux_第5张图片

表示文件大小和时间

修改文件属性

chgrp -R 更改属组
chown -R 更改属主

r:4 w:2 x:1

可读可写不可执行 rw- 6
可读可写可执行 rwx 7
chmod 777 赋予所有权限
chmod 700 等等等等

文件内容查看

  • cat 由第一行开始显示文件内容

  • tac 从最后一行开始显示

  • Linux_第6张图片

  • Linux_第7张图片

  • nl 显示的时候带上行号

image-20200718155848833

  • more 一行一行地显示文件内容 enter往下 空格翻页 :f 看行号 使用q离开
  • less与more相似 但less可以往前翻页 空格翻页 上下键移动 使用q离开
  • head 只看头几行
  • tail 只看尾几行
  • 向下搜索 /set 搜索set 在文件内使用
  • 向上查询 ?set 按n跳到下一个 N表示跳到上一个

网络配置信息

windows用ipconfig

Linux用ifconfig

链接

分为硬链接和软链接(符号链接)

硬链接:相当于备份 但只占一份的空间

软连接:相当于快捷方式

编辑文件 软硬链接的文件都会被修改

touch创建文件

touch f1
ln f1 f2 创建指向f1的硬链接f2
ln -s f1 f3 创建指向f1的软连接f3

image-20200718210143374

echo输入文件

echo "i love you" >> f1

f1 f2 f3都可以读取到i love you

VIM编辑器

VIM是VI的升级版

主要用来查看文件,编辑文件,保存文件。

VI和VIM分为三种模式,命令模式,输入模式,还有底线命令模式。

命令模式

刚启动VI/VIM时,进入的就是命令模式。此时无法输入,

  • 按下i/a/o进入输入模式。
  • 按x删除当前光标所在的字符
  • 在命令模式输入:切换到底线命令模式
  • 按esc退出输入模式到命令模式
  • 在底线命令模式,按q退出程序,按w保存文件
:wq 在命令模式下保存并退出
当使用指令:
vim abc.txt 
如果abc.txt不存在 则新建 存在则修改
:set nu 显示行号
强制写入等:——冒号

账号管理

添加用户

useradd -m 用户名 自动创建主目录
useradd -G 用户组 分配用户组

删除用户

userdel -r 用户名 删除用户并删除用户的目录
userdel 用户名 删除用户 但不删除目录

修改用户

usermod -d /home/233 用户名 把用户的目录改为233

查看账号信息:cat /etc/passwd

切换用户

su 用户名 切换用户
su - 用户名 切换并使用用户的工作环境

[root@rush home]#

root为当前用户吗 rush为主机名 home是目录 #表示超级用户

切换后#变为$符号

配置密码

passwd 用户名

Linux输入密码是不会显示的

修改密码

passwd

冻结与解冻账号

passwd -l 用户名 使用户无法登录
passwd -d 用户名 清空密码 并且无法登录
passwd -u 用户名 解冻账号

用户组管理

查看用户组

cat /etc/group

创建用户组

groupadd 用户组名 id号自增1
groupadd -g 520 用户名 创建用户组并指定id号为520

删除用户组

groupdel 用户名

修改用户组

groupmod -g id 修改id
groupmod -n name 修改用户组名
groupmod -g 666 -n rush 同时修改id和用户组名

切换用户组

newgrp 用户组

查看用户信息

/etc/passwd

Linux_第8张图片

root为用户名 x是登录密码(不可见) 第一个0是账号id 第二个0是用户组id 之后是主目录 主登录shell

加密后的用户密码在/etc/shadow

磁盘管理

df 列出磁盘使用情况 用字节表示
df -h 用KB MB GB表示大小
du 当前目录的情况
du -a 显示所有文件的情况 还可以看到子文件夹
du -sm /* 检查每个目录使用的情况

du不要在主目录使用 会一直加载,若使用了按Ctrl + Z 退出

挂载本地磁盘或文件

mount /dev/rush /mnt/rush 将外部设备rush挂载到mnt目录下,实现访问
unmount /dev/rush /mnt/rush 卸载
unmount -f /dev/rush /mnt/rush 强制卸载

进程管理

查看进程

ps -a 线程运行的所有进程信息
ps -u 看用户的进程信息
ps -x 显示后台运行进程的参数
ps -aux|grep mysql 查看mysql的进程
|为Linux管道符 grep 查找	
ps -ef|grep mysql 查看mysql的父进程信息
pstree -pu 以目录树形式来看 很清晰
	p:显示父id
	u:显示用户组

结束进程

kill -9 进程id 

环境安装

  • rpm
  • 解压
  • yum在线安装
rpm -qa|grep jdk 检查jdk版本信息
rpm -e --nodeps jdk 卸载jdk 先用qa指令查询信息 再对应地卸载
rpm -ivh 文件名 安装文件
tar -zxvf 解压文件

配置环境

vim /etc/profile

防火墙

firewall-cmd --zone=public --add-port=9000/tcp --permanent 开启9000端口 开启后需要重启防火墙
systemctl restart firewalld.service 重启防火墙
firewall-cmd --list-ports 查看防火墙端口

资料来源:https://www.runoob.com/w3cnote/linux-common-command-2.html

你可能感兴趣的:(Linux)