linux

文章详细介绍了Linux系统的目录结构,包括/bin,/etc,/home等目录的作用,并列举了常用命令如ls,cd,mkdir,rmdir等的使用方法。还涉及到文件属性查看与修改,如chown,chgrp,chmod。在用户管理方面,讲解了如何添加、删除用户以及使用vi/vim编辑器。最后提到了JDK的安装与环境变量配置,以及防火墙设置,包括开启端口和管理规则。
摘要由CSDN通过智能技术生成

linux

ls /

图片对以上目录解释:

  • /bin:bin是Binary的缩写,这个目录存放着最经常使用的命令。
  • /boot: 这里存放的是启动Linux使用的一些核心文件,包括一些连接文件以及镜像文件
  • /dev:dev是device(设备)的缩写,存放的是linux的外部设备,在Linux中访问设备的方式和文件的方式是相同的
  • /etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录
  • /home:用户的主目录,在Linux中,每个用户都有一个自己的目录,该目录一般是以用户的账号命名。
  • /lib: 这个目录存放在系统最基本的动态连接共享库,起作用类似于Windows里的dll文件
  • /lost+found:这个目录一般情况为空,这里存放一些系统非法关机的文件。
  • /media(媒体):linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下
  • /mnt:
  • /opt:给主机安装额外的软件所摆放的目录。
  • /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
  • /root:该目录为系统管理员,也称作超级权限者的用户主目录。
  • /sbin:这里存放的是系统管理员使用的系统管理程序。
  • /srv:该目录存放一些服务启动之后需要提取的数据。
  • /sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
  • /tmp:这个目录是用来存放一些临时文件的。
  • /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
  • /usr/bin:系统用户使用的应用程序。
  • /usr/sbin:超级用户使用比较高级的管理程序和系统守护程序。
  • /usr/src:内核源代码默认的放置目录。
  • /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
  • /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。

常用命令

顶级根目录’/’

查看’/'目录下的文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OwF9BzD3-1679822629887)(C:\Users\28448\AppData\Roaming\Typora\typora-user-images\1633680036569.png)]

处理目录的常用命令
  • ls: 列出目录

  • cd:切换目录

  • pwd:显示目前的目录

    ``[root@iZf8z85vg3kifrag7rh2e9Z home]# pwd
    /home`

  • mkdir:创建一个新的目录

    [root@iZf8z85vg3kifrag7rh2e9Z home]# mkdir zengchao    创建一个文件夹
    [root@iZf8z85vg3kifrag7rh2e9Z home]# ls
    zengchao
    [root@iZf8z85vg3kifrag7rh2e9Z home]# mkdir -p test2/test3/test4   创建递归创建文件夹
    [root@iZf8z85vg3kifrag7rh2e9Z home]# ls
    test1  test2  zengchao
    [root@iZf8z85vg3kifrag7rh2e9Z home]# cd test2
    [root@iZf8z85vg3kifrag7rh2e9Z test2]# cd test3
    [root@iZf8z85vg3kifrag7rh2e9Z test3]# ls
    test4
    [root@iZf8z85vg3kifrag7rh2e9Z test3]# cd test4
    [root@iZf8z85vg3kifrag7rh2e9Z test4]# ls
    [root@iZf8z85vg3kifrag7rh2e9Z test4]# pwd
    /home/test2/test3/test4 
    
  • rmdir:删除一个空的目录:rmdir 仅能删除空的目录 , 如果下面存在文件 , 需要先删除文件,

    [root@iZf8z85vg3kifrag7rh2e9Z home]# ls
    test1 test2 zengchao

    [root@iZf8z85vg3kifrag7rh2e9Z home]# rmdir -p test2/test3/test4
    [root@iZf8z85vg3kifrag7rh2e9Z home]# ls
    test1 zengchao

  • cp: 复制文件或目录 cp 文件名称 新位置
    [root@iZf8z85vg3kifrag7rh2e9Z ~]# cd /home
    [root@iZf8z85vg3kifrag7rh2e9Z home]# ls
    test1 test.txt zengchao
    [root@iZf8z85vg3kifrag7rh2e9Z home]# cp -r /root/install.sh /home 将install.sh文件递归复制到/home目录下
    [root@iZf8z85vg3kifrag7rh2e9Z home]# ls
    install.sh test1 test.txt zengchao
    [root@iZf8z85vg3kifrag7rh2e9Z home]# ^C
    [root@iZf8z85vg3kifrag7rh2e9Z home]#

  • rm: 移除文件或目录

    -f 忽略不存在的文件,不会出现警告,强制删除!

    -r 递归删除目录!

    -i 互动 , 删除询问是否删除!(再给你一次机会)

    rm -rf //传说中的删除跑路

  • mv: 移动文件与目录,或修改文件与目录的名称

查看文件属性

在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组,如:

图片

  • 当为[ d ]则是目录
  • 当为[ - ]则是文件;
  • 若是[ l ]则表示为链接文档 ( link file );
  • 若是[ b ]则表示为装置文件里面的可供储存的接口设备 ( 可随机存取装置 );
  • 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标 ( 一次性读取装置 )。
修改文件属性

1.chown:更改文件属主,也可以同时更改文件属组

[root@iZf8z85vg3kifrag7rh2e9Z home]# ll
total 16
drwxr-xr-x 2 root root 4096 Oct 8 16:51 install.sh
drwxr-xr-x 2 root root 4096 Oct 8 16:17 test1
drwxr-xr-x 2 root root 4096 Oct 8 16:43 test.txt
drwxr-xr-x 2 777 root 4096 Oct 8 16:17 zengchao
[root@iZf8z85vg3kifrag7rh2e9Z home]# chown 777:777 zengchao 改变拥有者和群组
[root@iZf8z85vg3kifrag7rh2e9Z home]# ll
total 16
drwxr-xr-x 2 root root 4096 Oct 8 16:51 install.sh
drwxr-xr-x 2 root root 4096 Oct 8 16:17 test1
drwxr-xr-x 2 root root 4096 Oct 8 16:43 test.txt
drwxr-xr-x 2 777 777 4096 Oct 8 16:17 zengchao
[root@iZf8z85vg3kifrag7rh2e9Z home]# ^C
[root@iZf8z85vg3kifrag7rh2e9Z home]#

2.更改文件属组

[root@iZf8z85vg3kifrag7rh2e9Z home]# ll
total 16
drwxr-xr-x 2 root root 4096 Oct 8 16:51 install.sh
drwxr-xr-x 2 root root 4096 Oct 8 16:17 test1
drwxr-xr-x 2 root root 4096 Oct 8 16:43 test.txt
drwxr-xr-x 2 777 777 4096 Oct 8 16:17 zengchao
[root@iZf8z85vg3kifrag7rh2e9Z home]# chgrp mail test.txt
[root@iZf8z85vg3kifrag7rh2e9Z home]# ll
total 16
drwxr-xr-x 2 root root 4096 Oct 8 16:51 install.sh
drwxr-xr-x 2 root root 4096 Oct 8 16:17 test1
drwxr-xr-x 2 root mail 4096 Oct 8 16:43 test.txt
drwxr-xr-x 2 777 777 4096 Oct 8 16:17 zengchao
[root@iZf8z85vg3kifrag7rh2e9Z home]# ^C
[root@iZf8z85vg3kifrag7rh2e9Z home]#

3.chmod:更改文件9个属性

[root@iZf8z85vg3kifrag7rh2e9Z home]# ll
total 16
drwxr-xr-x 2 root root 4096 Oct 8 16:51 install.sh
drwxr-xr-x 2 root root 4096 Oct 8 16:17 test1
drwxr-xr-x 2 root mail 4096 Oct 8 16:43 test.txt
drwxr-xr-x 2 777 777 4096 Oct 8 16:17 zengchao
[root@iZf8z85vg3kifrag7rh2e9Z home]# chmod 777 test1 任何人都可以修改该文件(文件,文件夹。我也分不清)
[root@iZf8z85vg3kifrag7rh2e9Z home]# ll
total 16
drwxr-xr-x 2 root root 4096 Oct 8 16:51 install.sh
drwxrwxrwx 2 root root 4096 Oct 8 16:17 test1
drwxr-xr-x 2 root mail 4096 Oct 8 16:43 test.txt
drwxr-xr-x 2 777 777 4096 Oct 8 16:17 zengchao
[root@iZf8z85vg3kifrag7rh2e9Z home]#

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

    cat /etc/sysconfig/network-scripts/ifcfg-eth0 查看网络配置

  • tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!

    tac /etc/sysconfig/network-scripts/ifcfg-eth0
    
  • nl 显示的时候,顺道输出行号!

     nl /etc/sysconfig/network-scripts/ifcfg-eth0
    
  • more 一页一页的显示文件内容

     more /etc/csh.login
    
  • less 与 more 类似,但是比 more 更好的是,他可以往前翻页!

  • head 只看头几行

    head [-n number] 文件
    
  • tail 只看尾巴几行

    tail [-n number] 文件
    
linux链接

[root@iZf8z85vg3kifrag7rh2e9Z ~]# cd /home
[root@iZf8z85vg3kifrag7rh2e9Z home]# f1 - 创建一个文件
[root@iZf8z85vg3kifrag7rh2e9Z home]# ls
f1 install.sh test1 test.txt zengchao
[root@iZf8z85vg3kifrag7rh2e9Z home]# ln f1 f2 - 创建f1的一个硬链接文件f2
[root@iZf8z85vg3kifrag7rh2e9Z home]# ln -s f1 f3 - 创建f1的一个软连接文件f3(又称符号链接)
[root@iZf8z85vg3kifrag7rh2e9Z home]# ls -li - i代表查看文件的inode节点信息
total 16
918430 -rw-r–r-- 2 root root 0 Oct 8 20:59 f1 - 得出f1和f2的节点相同(918430)
918430 -rw-r–r-- 2 root root 0 Oct 8 20:59 f2
923209 lrwxrwxrwx 1 root root 2 Oct 8 21:00 f3 -> f1
1313874 drwxr-xr-x 2 root root 4096 Oct 8 16:51 install.sh
1313848 drwxrwxrwx 2 root root 4096 Oct 8 16:17 test1
1313852 drwxr-xr-x 2 root mail 4096 Oct 8 16:43 test.txt
1313846 drwxr-xr-x 2 777 777 4096 Oct 8 16:17 zengchao
[root@iZf8z85vg3kifrag7rh2e9Z home]# echo “I am f1 file” >>f1 [root@iZf8z85vg3kifrag7rh2e9Z home]# cat f1
I am f1 file
[root@iZf8z85vg3kifrag7rh2e9Z home]# cat f2
I am f1 file
[root@iZf8z85vg3kifrag7rh2e9Z home]# cat f3
I am f1 file
[root@iZf8z85vg3kifrag7rh2e9Z home]# rm -f f1
[root@iZf8z85vg3kifrag7rh2e9Z home]# cat f2
I am f1 file
[root@iZf8z85vg3kifrag7rh2e9Z home]# cat f3
cat: f3: No such file or directory
[root@iZf8z85vg3kifrag7rh2e9Z home]#

硬链接:硬链接是通过索引节点进行连接。在Linux的文件系统中,保存在磁盘分区的文件不管什么类型都会分配一个编号,这个编号称为索引节点。在Linux中,多个文件指向同一个索引节点是允许的。有两个文件索引节点相同,文件名不同,其实他们的内容是相同的

Vim使用及账号用户管理

vi->vim,他是一个文本编辑器 如下vim 键盘图:图片

命令模式

输入模式

底线命令模式

账户管理

添加用户 useradd -m zeng :-m自动创建这个用户的主目录 添加一个用户其实就是往一个文件中写入用户信息。这条用户信息在/etc/passwd文件中

[root@iZf8z85vg3kifrag7rh2e9Z etc]# cat passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
zeng:x:1000:1000::/home/zeng:/bin/bash
[root@iZf8z85vg3kifrag7rh2e9Z etc]# 

如果只是运行useradd+username的话,它会创建一个三无用户,即:无用户家目录,无指定shell版本,无密码。所有为了了顺利创建一个用户,我们需要一些参数来完善。

以下为选项

  • -d<登入目录>:指定用户登入时的启始目录
  • -g 用户组 指定用户所属的用户组。
  • -G 用户组,用户组 指定用户所属的附加组。
  • -m:自动建立用户的登入目录
  • -s:指定用户登入后所使用的shell
  • -u:指定用户id。
经典语法
sudo useradd alvin -m -d /home/alvin -s /bin/bash   该用户无密码
给useradd添加密码
sudo passwd alvin     其实alvin可以添加,也可以不添加,不产生影响

切换用户 su username 【username是你的用户名哦】

从普通用户切换到root用户,还可以使用命令:sudo su

$表示普通用户

#表示超级用户,也就是root用户

删除账号

userdel 选项 用户名

常用的选项是 -r,它的作用是把用户的主目录一起删除

修改账户

修改已有用户的信息使用usermod命令,其格式如下:

usermod 选项 用户名

常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。

例如:

# usermod -s /bin/ksh -d /home/z –g developer kuangshen

此命令将用户kuangshen的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer。

环境安装

jdk 安装

安装jdk-》配置环境变量

  • 先检查linux是否安装jdk,如果有就卸载,没有就安装

    # rpm -qa      #显示系统中所有已经安装的rpm包
    # rpm有许多指令
    [root@kuangshen ~]# rpm -qa|grep jdk
    jdk1.8.0_121-1.8.0_121-fcs.x86_64
    # 卸载 -e --nodeps 强制删除
    [root@kuangshen ~]# rpm -e --nodeps jdk1.8.0_121-1.8.0_121-fcs.x86_64
    [root@kuangshen ~]# java -version
    -bash: /usr/bin/java: No such file or directory #没有java版本
    # rpm -ivh  安装jdk
    [root@iZf8z85vg3kifrag7rh2e9Z zeng]# rpm -ivh jdk-8u301-linux-x64.rpm 
    warning: jdk-8u301-linux-x64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
    Preparing...                          ################################# [100%]
    Updating / installing...
       1:jdk1.8-2000:1.8.0_301-fcs        ################################# [100%]
    Unpacking JAR files...
    	tools.jar...
    	plugin.jar...
    	javaws.jar...
    	deploy.jar...
    	rt.jar...
    	jsse.jar...
    	charsets.jar...
    	localedata.jar...
    [root@iZf8z85vg3kifrag7rh2e9Z zeng]# java -version
    java version "1.8.0_301"
    Java(TM) SE Runtime Environment (build 1.8.0_301-b09)
    Java HotSpot(TM) 64-Bit Server VM (build 25.301-b09, mixed mode)
    #  再次检查jdk
    [root@iZf8z85vg3kifrag7rh2e9Z zeng]# rpm -qa|grep jdk
    
    #配置环境
    使用vim进入该文件    vim /etc/profile
    输入
    JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
    CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib
    PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
    export PATH CLASSPATH JAVA_HOME
    保存退出
    激活该配置文件   source /etc/profile 
    
    上面三个配置是java基本配置
    

然后就可以发表springboot项目了(这时的项目要注意:该jar工程不可以用数据库(因为我们现在的远程还没有数据库,所有一些yaml配置有关数据库和mybatis配置要注释掉),还要某些有关数据库的jar包()。如果项目在本地可以启动,那么在远程服务器也可以启动)。在linux和window相同环境下,如果window、项目可以起到,那么linux服务器下项目也可以启动。

linux下有项目后:远程Linux开启对应的安全组,开启对应的防火墙的端口(开启后,要重启防火墙)

tomcat安装 (解压缩安装)

防火墙开启对应端口

# 开启端口
[root@iZf8z85vg3kifrag7rh2e9Z bin]# firewall-cmd --zone=public --add-port=80/tcp --permanent       #开启80端口号
success
[root@iZf8z85vg3kifrag7rh2e9Z bin]# firewall-cmd --zone=public --add-port=8080/tcp --permanent
success
[root@iZf8z85vg3kifrag7rh2e9Z bin]# firewall-cmd --zone=public --add-port=20/tcp --permanent
success
[root@iZf8z85vg3kifrag7rh2e9Z bin]# firewall-cmd --zone=public --add-port=21/tcp --permanent
success
# 重启防火墙
[root@iZf8z85vg3kifrag7rh2e9Z bin]# systemctl restart firewalld.service
# 查看所有端口
[root@iZf8z85vg3kifrag7rh2e9Z bin]# firewall-cmd --list-ports
80/tcp 8080/tcp 20/tcp 21/tcp
[root@iZf8z85vg3kifrag7rh2e9Z bin]# 

防火墙所有操作

# 查看firewall服务状态
systemctl status firewalld

# 开启、重启、关闭、firewalld.service服务
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop

# 查看防火墙规则
firewall-cmd --list-all    # 查看全部信息
firewall-cmd --list-ports  # 只看端口信息

# 开启端口
开端口命令:firewall-cmd --zone=public --add-port=80/tcp --permanent
重启防火墙:systemctl restart firewalld.service

命令含义:
--zone #作用域
--add-port=80/tcp  #添加端口,格式为:端口/通讯协议
--permanent   #永久生效,没有此参数重启后失效

lld

开启、重启、关闭、firewalld.service服务

开启

service firewalld start

重启

service firewalld restart

关闭

service firewalld stop

查看防火墙规则

firewall-cmd --list-all # 查看全部信息
firewall-cmd --list-ports # 只看端口信息

开启端口

开端口命令:firewall-cmd --zone=public --add-port=80/tcp --permanent
重启防火墙:systemctl restart firewalld.service

命令含义:
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值