Linux学习

历史

通常情况下,Linux被打包成供个人计算机和服务器使用的Linux发行版,一些流行的主流Linux发布版,包括Debian(及其派生版本UbuntuLinux Mint)、Fedora(及其相关版本Red Hat Enterprise LinuxCentOS)和openSUSE等。Linux发行版包含Linux内核和支撑内核的实用程序和库,通常还带有大量可以满足各类需求的应用程序。个人计算机使用的Linux发行版通常包含X Window和一个相应的桌面环境,如GNOMEKDE。桌面Linux操作系统常用的应用程序,包括Firefox网页浏览器、LibreOffice办公软件、GIMP图像处理工具等。由于Linux是自由软件,任何人都可以创建一个匹配自己需求的Linux发行版。

正面

  • 开放源代码的Linux可以让知识延续下去,新兴的软件公司可以从开放源代码上快速、低价的创建专业能力,丰富市场的竞争,防止独霸软件巨兽的存在。
  • 个人使用很少有版权问题,绝大多数都是免费使用,几乎无所谓盗版问题。
  • 新的Linux发行版大多数软件都有服务器的服务,只要点击就可以自动下载、安装经过认证的软件,不需要到市面购买、安装。
  • Linux学习的投资有效时间较长。旧版软件、系统都还是存在,有源代码可以派生、分支,维护周期普遍比Windows长很多。就算被放弃,还是可以凭借源代码派生。新的软件更新发展多样化,容易养成用户习惯掌握原理,而不是养成操作习惯。
  • 强大的Shell脚本支持,容易组合出匹配需求的环境或创造自动程序。
  • 默认安全设置相对于目前主流的Windows操作系统安全很多。[47]Windows操作系统为了非专业用户降低了默认安全性的设置,导致系统容易受到木马、病毒的侵害。盗版的Windows更糟糕,可能随盗版操作系统捆绑木马 “特洛伊木马 (计算机)”)、恶意程序,部分默认超级用户(Administrator)登录、关闭安全更新等问题导致安全性更差。

负面

  • BSD的开发人员曾经批评过Linux内核开发人员过于重视新功能的添加而不是踏踏实实的把代码写好、整理好。
  • Minix爱好者认为微内核是将来技术发展的方向,Linux在技术上是落伍陈旧的。(参见塔能鲍姆-林纳斯辩论
  • 软硬件支持性较差。大部分的软、硬件厂商没有或者不会优先开发Linux平台的版本,或者Linux平台的版本功能较少,致使可用的应用程序、硬件周边支持性相较于WindowsMac平台差。
  • 相当多的发行版(超过200个以上),使程序开发者无法针对所有发行版做测试,使用Linux平台的应用软件安装在非主流发行版可能遭遇预料之外的问题或甚至于无法使用。
  • Linux系统及相关应用软件主要是由黑客程序员及其它Linux爱好者共同合作开发出来的,所以缺少了商业软件基于商业利益而调整操作界面使之更适合不同用户的行为。对Linux使用方式的不习惯,以及不同软件操作方式缺乏一致性使得用户产生Linux系统难以使用的感受。

Linux 系统目录结构(以公司服务器为准)

  • ls/
    bin boot data dev etc home lib lib64 lost+found media mnt nohup.out opt proc root run sbin srv sys tmp usr var

  • bin 是Binary的缩写, 这个目录存放着最经常使用的命令。

image.png

ls 的命令就存在这里面,还有sz,sz 的命令就是下载jar包,一般是工程的依赖,架构师会打成jar 我们没有权限看,那我就去把它下载下来,反编译即可

  • boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
1
2
3
4
5
6
[dev@dev-lhn1d-retail-api1 /]$ cd boot
[dev@dev-lhn1d-retail-api1 boot]$ ls
config-3.10.0-693.2.2.el7.x86_64 grub initramfs-3.10.0-693.2.2.el7.x86_64.img initramfs-3.10.0-693.el7.x86_64kdump.img symvers-3.10.0-693.el7.x86_64.gz vmlinuz-0-rescue-f0f31005fb5a436d88e3c6cbf54e25aa
config-3.10.0-693.el7.x86_64 grub2 initramfs-3.10.0-693.2.2.el7.x86_64kdump.img initrd-plymouth.img System.map-3.10.0-693.2.2.el7.x86_64 vmlinuz-3.10.0-693.2.2.el7.x86_64
efi initramfs-0-rescue-f0f31005fb5a436d88e3c6cbf54e25aa.img initramfs-3.10.0-693.el7.x86_64.img symvers-3.10.0-693.2.2.el7.x86_64.gz System.map-3.10.0-693.el7.x86_64 vmlinuz-3.10.0-693.el7.x86_64
[dev@dev-lhn1d-retail-api1 boot]$
  • data : 这个目录是我么服务器自己的目录,我感觉是放了一堆文件一样

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    [dev@dev-lhn1d-retail-api1 home]$ cd /
    [dev@dev-lhn1d-retail-api1 /]$ ls
    bin boot data dev etc home lib lib64 lost+found media mnt nohup.out opt proc root run sbin srv sys tmp usr var
    [dev@dev-lhn1d-retail-api1 /]$ cd data
    [dev@dev-lhn1d-retail-api1 data]$ ls
    www wxcert
    [dev@dev-lhn1d-retail-api1 data]$ cd www
    [dev@dev-lhn1d-retail-api1 www]$ ls
    retail-admin_v0.0.3 retail-admin_V0.11.10A01_20181121 retail-admin_V0.11.3A01_20181119 retail-admin_V0.11.9A01_20181121 retail-admin_V0.7.1A01_20181109 retail-admin_V0.9.1A01_20181114
    retail-admin_v0.0.3.tar.gz retail-admin_V0.11.10A01_20181121.tar.gz retail-admin_V0.11.3A01_20181119.tar.gz retail-admin_V0.11.9A01_20181121.tar.gz retail-admin_V0.7.1A01_20181109.tar.gz retail-admin_V0.9.1A01_20181114.tar.gz
    retail-admin_V0.0.4 retail-admin_V0.11.11A01_20181121 retail-admin_V0.11.4A01_20181120 retail-admin_V0.12.0A01_20181121 retail-admin_V0.7.2A01_20181109 retail-admin_V0.9.2A01_20181114
    retail-admin_V0.0.4.tar.gz retail-admin_V0.11.11A01_20181121.tar.gz retail-admin_V0.11.4A01_20181120.tar.gz retail-admin_V0.12.0A01_20181121.tar.gz retail-admin_V0.7.2A01_20181109.tar.gz retail-admin_V0.9.2A01_20181114.tar.gz
    retail-admin_V0.0.5 retail-admin_V0.11.12A01_20181122 retail-admin_V0.11.5A01_20181120 retail-admin_V0.6.0A01_20181109 retail-admin_V0.8.0A01_20181114 retail-admin_V0.9.3A01_20181116
    retail-admin_V0.0.5.tar.gz retail-admin_V0.11.12A01_20181122.tar.gz retail-admin_V0.11.5A01_20181120.tar.gz retail-admin_V0.6.0A01_20181109.tar.gz retail-admin_V0.8.0A01_20181114.tar.gz retail-admin_V0.9.3A01_20181116.tar.gz
    retail-admin_V0.0.6 retail-admin_V0.11.13A01_20181122 retail-admin_V0.11.6A01_20181120 retail-admin_V0.6.1A01_20181113 retail-admin_V0.8.1A01_20181114 retailWeb
    retail-admin_V0.0.6.tar.gz retail-admin_V0.11.13A01_20181122.tar.gz retail-admin_V0.11.6A01_20181120.tar.gz retail-admin_V0.6.1A01_20181113.tar.gz retail-admin_V0.8.1A01_20181114.tar.gz
    retail-admin_V0.1.0 retail-admin_V0.11.1A01_20181119 retail-admin_V0.11.7A01_20181121 retail-admin_V0.6.2A01_20181109 retail-admin_V0.8.2A01_20181114
    retail-admin_V0.10.0A01_20181116 retail-admin_V0.11.1A01_20181119.tar.gz retail-admin_V0.11.7A01_20181121.tar.gz retail-admin_V0.6.2A01_20181109.tar.gz retail-admin_V0.8.2A01_20181114.tar.gz
    retail-admin_V0.10.0A01_20181116.tar.gz retail-admin_V0.11.2A01_20181119 retail-admin_V0.11.8A01_20181121 retail-admin_V0.7.0A01_20181109 retail-admin_V0.9.0A01_20181114
    retail-admin_V0.1.0.tar.gz retail-admin_V0.11.2A01_20181119.tar.gz retail-admin_V0.11.8A01_20181121.tar.gz retail-admin_V0.7.0A01_20181109.tar.gz retail-admin_V0.9.0A01_20181114.tar.gz
  • dev :dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。

    1
    2
    3
    4
    5
    6
    7
    [dev@dev-lhn1d-retail-api1 /]$ cd dev
    [dev@dev-lhn1d-retail-api1 dev]$ ls
    autofs console disk fuse initctl mapper network_latency port raw snd tty0 tty13 tty18 tty22 tty27 tty31 tty36 tty40 tty45 tty5 tty54 tty59 tty63 ttyS1 urandom vcs2 vcsa vcsa5 vga_arbiter zero
    block core dri hidraw0 input mcelog network_throughput ppp rtc stderr tty1 tty14 tty19 tty23 tty28 tty32 tty37 tty41 tty46 tty50 tty55 tty6 tty7 ttyS2 usbmon0 vcs3 vcsa1 vcsa6 vhci
    btrfs-control cpu fb0 hpet kmsg mem null ptmx rtc0 stdin tty10 tty15 tty2 tty24 tty29 tty33 tty38 tty42 tty47 tty51 tty56 tty60 tty8 ttyS3 usbmon1 vcs4 vcsa2 vda vhost-net
    bus cpu_dma_latency fd hugepages log mqueue nvram pts shm stdout tty11 tty16 tty20 tty25 tty3 tty34 tty39 tty43 tty48 tty52 tty57 tty61 tty9 uhid vcs vcs5 vcsa3 vda1 virtio-ports
    char crash full hwr
  • etc :这个目录用来存放所有的系统管理所需要的配置文件和子目录。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[dev@dev-lhn1d-retail-api1 /]$ cd etc
[dev@dev-lhn1d-retail-api1 etc]$ ls
adjtime centos-release-upstream csh.login ethertypes group- iproute2 localtime motd os-release profile redhat-release sestatus.conf sudo-ldap.conf virc
aliases chkconfig.d dbus-1 exports grub2.cfg issue login.defs mtab pam.d profile.d resolv.conf shadow sysconfig wgetrc
aliases.db chrony.conf default favicon.png grub.d issue.net logrotate.conf my.cnf passwd protocols rpc shadow- sysctl.conf wpa_supplicant
alternatives chrony.keys depmod.d filesystems gshadow kdump.conf logrotate.d my.cnf.d passwd- python rpm shells sysctl.d X11
anacrontab cloud dhcp firewalld gshadow- kernel lsb-release.d NetworkManager pkcs11 rc0.d rsyncd.conf skel systemd xdg
asound.conf cron.d DIR_COLORS fonts gss krb5.conf machine-id networks pki rc1.d rsyslog.conf ssh system-release xinetd.d
at.deny cron.daily DIR_COLORS.256color fstab host.conf krb5.conf.d machine-info nginx plymouth rc2.d rsyslog.d ssl system-release-cpe yum
audisp cron.deny DIR_COLORS.lightbgcolor gcrypt hostname ld.so.cache magic nscd.conf pm rc3.d rwtab statetab terminfo yum.conf
audit cron.hourly dracut.conf GeoIP.conf hosts ld.so.conf mail.rc nsswitch.conf polkit-1 rc4.d rwtab.d statetab.d timezone yum.repos.d
backup cron.monthly dracut.conf.d GeoIP.conf.default hosts.allow ld.so.conf.d makedumpfile.conf.sample nsswitch.conf.bak popt.d rc5.d sasl2 subgid tmpfiles.d
bash_completion.d crontab dracut.conf.d? gnupg hosts.deny libaudit.conf man_db.conf ntp postfix rc6.d securetty subuid tuned
bashrc cron.weekly e2fsck.conf GREP_COLORS init.d libnl mke2fs.conf ntp.conf ppp rc.d security sudo.conf udev
binfmt.d crypttab eni_utils groff inittab libuser.conf modprobe.d openldap prelink.conf.d rc.local selinux sudoers vconsole.conf
centos-release csh.cshrc environment group inputrc locale.conf modules-load.d opt printcap redhat-lsb services sudoers.d vimrc
[dev@dev-lhn1d-retail-api1 etc]$
  • home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
1
2
3
4
[dev@dev-lhn1d-retail-api1 /]$ cd home
[dev@dev-lhn1d-retail-api1 home]$ ls
dev oper ops
[dev@dev-lhn1d-retail-api1 home]$
  • lib :这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。

    1
    2
    3
    4
    5
    [dev@dev-lhn1d-retail-api1 /]$ cd lib
    [dev@dev-lhn1d-retail-api1 lib]$ ls
    binfmt.d cpp dracut firmware gcc kbd kernel lsb modules NetworkManager python2.7 sendmail sse2 systemd tuned yum-plugins
    cloud-init debug firewalld games grub kdump locale modprobe.d modules-load.d polkit-1 rpm sendmail.postfix sysctl.d tmpfiles.d udev
    [dev@dev-lhn1d-retail-api1 lib]$
  • lib64:库文件存放目录
    image.png

    • lost+found :这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。(这个我没有权限)
      1
      2
      3
      [dev@dev-lhn1d-retail-api1 /]$ cd lost+found
      -bash: cd: lost+found: Permission denied
      [dev@dev-lhn1d-retail-api1 /]$
  • media :linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。 目前是个空的文件夹

    1
    2
    3
    [dev@dev-lhn1d-retail-api1 /]$ cd media
    [dev@dev-lhn1d-retail-api1 media]$ ls
    [dev@dev-lhn1d-retail-api1 media]$
  • mnt :系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

    1
    2
    3
    [dev@dev-lhn1d-retail-api1 /]$ cd mnt
    [dev@dev-lhn1d-retail-api1 mnt]$ ^C
    [dev@dev-lhn1d-retail-api1 mnt]$
  • nohup.out :一个文件,查看里面的日志 ,就是一个jar包

    1
    2
    3
    4
    5
    6
    7
    8
    9
    [dev@dev-lhn1d-retail-api1 /]$ cd nohup.out
    -bash: cd: nohup.out: Not a directory
    [dev@dev-lhn1d-retail-api1 /]$ tailf nohup.out
    Error: Unable to access jarfile /opt/newretail_services/blissmall-baseinfo/blissmall-baseinfo.jar
    ^C
    [dev@dev-lhn1d-retail-api1 /]$ ls
    bin boot data dev etc home lib lib64 lost+found media mnt nohup.out opt proc root run sbin srv sys tmp usr var
    [dev@dev-lhn1d-retail-api1 /]$ tail -fn 50 nohup.out
    Error: Unable to access jarfile /opt/newretail_services/blissmall-baseinfo/blissmall-baseinfo.jar
  • opt : 这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。所有的执行的jar都在这个目录

    1
    2
    3
    4
    5
    6
    [dev@dev-lhn1d-retail-api1 /]$ cd opt
    [dev@dev-lhn1d-retail-api1 opt]$ ls
    apache-maven-3.5.4-bin.tar.gz jdk-8u181-linux-x64.tar.gz newretail_services settings sh
    [dev@dev-lhn1d-retail-api1 opt]$ cd newretail_services/
    [dev@dev-lhn1d-retail-api1 newretail_services]$ ls
    blissmall-eureka blissmall-gateway retail-activity retail-auth-center retail-baseinfo retail-demo retail-logistics retail-members retail-mmc retail-pay retail-produce retail-product retail-shop retail-trade retail-uc
  • tree 树的命令,把包下所有的文件和文件夹列出树的结构,只列出一个树的结构 ,我自己负责的物流模块的结构。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    ├── retail-logistics
    │   ├── config-cache
    │   │   ├── retail-logistics+default+application.properties
    │   │   └── retail-logistics+default+mall.retail.common.properties
    │   ├── logs
    │   │   ├── retail-logistics.log
    │   │   ├── retail-logistics.log.2018-11-22.0.gz
    │   │   └── retail-logistics.log.2018-11-22.1.gz
    │   ├── retail-logistics_tag_1.0.01.jar
    │   ├── retail-logistics_tag_1.0.02.jar
    │   ├── retail-logistics_tag_1.0.03.jar
    │   ├── retail-logistics_tag_1.0.04.jar
    │   ├── retail-logistics_tag_1.0.05.jar
    │   ├── retail-logistics_tag_1.0.06.jar
    │   └── retail-logistics_tag_1.0.07.jar
  • proc :这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [dev@dev-lhn1d-retail-api1 //]$ cd proc
    [dev@dev-lhn1d-retail-api1 proc]$ ls
    1 11011 13590 17590 19728 22 23798 24529 25057 26418 27253 27326 28022 283 30 31380 375 472 5 54 8 9176 cpuinfo fb kallsyms loadavg mtrr self sysvipc vmstat
    10 115 14811 18 19804 22138 23924 24530 257 26613 27255 277 28023 28332 30746 32 378 492 506 55 836 acpi crypto filesystems kcore locks net slabinfo timer_list zoneinfo
    10626 11598 15 19016 2 22413 24234 24559 258 26614 27256 278 28063 284 30748 3250 41 493 513 57 853 buddyinfo devices fs keys mdstat pagetypeinfo softirqs timer_stats
    10738 11600 16 19271 20 22576 24488 247 259 26615 27287 27894 28070 28408 30749 33 42 4942 519 6160 8851 bus diskstats interrupts key-users meminfo partitions stat tty
    10968 11601 16865 19638 20035 22727 24501 25 260 26616 27297 27895 28073 29 31 34 421 496 52 7 9 cgroups dma iomem kmsg misc sched_debug swaps uptime
    10970 12 17 19725 20147 23 24503 25054 26280 26777 27299 28 28074 29122 31377 352 43 497 534 750 9173 cmdline driver ioports kpagecount modules schedstat sys version
    11 13 17484 19727 21 23521 24504 25056 263 27 27300 28020 28112 3 31379 374 44 4989 536 76 9175 consoles execdomains irq kpageflags mounts scsi sysrq-trigger vmallocinfo
    [dev@dev-lhn1d-retail-api1 proc]$
  • root :该目录为系统管理员,也称作超级权限者的用户主目录。(这个我没有权限)

    1
    2
    3
    [dev@dev-lhn1d-retail-api1 //]$ cd root
    -bash: cd: root: Permission denied
    [dev@dev-lhn1d-retail-api1 //]$
  • run :是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

    1
    2
    3
    4
    5
    [dev@dev-lhn1d-retail-api1 //]$ cd run
    [dev@dev-lhn1d-retail-api1 run]$ ls
    atd.pid blkid console cron.reboot dhclient-eth0.pid initramfs log netreport nscd plymouth setrans sudo systemd tuned user
    auditd.pid cloud-init crond.pid dbus faillock lock mount nginx.pid ntpd.pid sepermit sshd.pid syslogd.pid tmpfiles.d udev utmp
    [dev@dev-lhn1d-retail-api1 run]$
  • sbin :s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

    1
    2
    [dev@dev-lhn1d-retail-api1 //]$ cd sbin
    [dev@dev-lhn1d-retail-api1 sbin]$
  • srv : 该目录存放一些服务启动之后需要提取的数据。

    1
    2
    3
    [dev@dev-lhn1d-retail-api1 //]$ cd srv
    [dev@dev-lhn1d-retail-api1 srv]$ ls
    [dev@dev-lhn1d-retail-api1 srv]$
  • sys : 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

    1
    2
    3
    4
    [dev@dev-lhn1d-retail-api1 //]$ cd sys
    [dev@dev-lhn1d-retail-api1 sys]$ ls
    block bus class dev devices firmware fs hypervisor kernel module power
    [dev@dev-lhn1d-retail-api1 sys]$
  • tmp :这个目录是用来存放一些临时文件的。
    image.png

  • usr : 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。

    1
    2
    3
    [dev@dev-lhn1d-retail-api1 usr]$ ls
    bin etc games include lib lib64 libexec local sbin share src tmp
    [dev@dev-lhn1d-retail-api1 usr]$
  • var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

    1
    2
    3
    4
    [dev@dev-lhn1d-retail-api1 //]$ cd var
    [dev@dev-lhn1d-retail-api1 var]$ ls
    adm cache crash db empty games gopher kerberos lib local lock log mail nis opt preserve run spool tmp yp
    [dev@dev-lhn1d-retail-api1 var]$

版本信息

1、# uname -a (Linux查看版本当前操作系统内核信息)
1
2
3
[dev@dev-lhn1d-retail-api1 //]$ uname -a
Linux dev-lhn1d-retail-api1.blissmall.net 3.10.0-693.2.2.el7.x86_64 #1 SMP Tue Sep 12 22:26:13 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
[dev@dev-lhn1d-retail-api1 //]$
  • 硬件平台:$ uname -i
  • 机器硬件(CPU)名:$ uname -m
  • 节点名称:$ uname -n
  • 操作系统:$ uname -o
  • 系统处理器的体系结构:$ uname -p
  • 操作系统的发行版号:$ uname -r
  • 系统名:$ uname -s
  • 内核版本:$ uname -v
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    [dev@dev-lhn1d-retail-api1 //]$ uname -a
    Linux dev-lhn1d-retail-api1.blissmall.net 3.10.0-693.2.2.el7.x86_64 #1 SMP Tue Sep 12 22:26:13 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
    [dev@dev-lhn1d-retail-api1 //]$ uname -i
    x86_64
    [dev@dev-lhn1d-retail-api1 //]$ uname -m
    x86_64
    [dev@dev-lhn1d-retail-api1 //]$ uname -n
    dev-lhn1d-retail-api1.blissmall.net
    [dev@dev-lhn1d-retail-api1 //]$ uname -0
    uname: invalid option -- '0'
    Try 'uname --help' for more information.
    [dev@dev-lhn1d-retail-api1 //]$ uname -o
    GNU/Linux
    [dev@dev-lhn1d-retail-api1 //]$ uname -p
    x86_64
    [dev@dev-lhn1d-retail-api1 //]$ uname -r
    3.10.0-693.2.2.el7.x86_64
    [dev@dev-lhn1d-retail-api1 //]$ uname -s
    Linux
    [dev@dev-lhn1d-retail-api1 //]$ uname -v
    #1 SMP Tue Sep 12 22:26:13 UTC 2017
    [dev@dev-lhn1d-retail-api1 //]$
2、# cat /proc/version (Linux查看当前操作系统版本信息)
1
2
3
[dev@dev-lhn1d-retail-api1 //]$ cat /proc/version
Linux version 3.10.0-693.2.2.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 SMP Tue Sep 12 22:26:13 UTC 2017
[dev@dev-lhn1d-retail-api1 //]$

Linux version 3.10.0-693.2.2.el7.x86_64 linux内核版本号
gcc version 4.8.5 20150623 gcc编译器版本号
Red Hat Linux4.8.5-16 Red Hat版本号

3、# cat /etc/issue 或cat /etc/redhat-release(Linux查看版本当前操作系统发行版信息)
  • 在公司的服务器上是这样:cat /etc/redhat-release
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    [dev@dev-lhn1d-retail-api1 /]$ cd etc
    [dev@dev-lhn1d-retail-api1 etc]$ ls
    adjtime centos-release-upstream csh.login ethertypes group- iproute2 localtime motd os-release profile redhat-release sestatus.conf sudo-ldap.conf virc
    aliases chkconfig.d dbus-1 exports grub2.cfg issue login.defs mtab pam.d profile.d resolv.conf shadow sysconfig wgetrc
    aliases.db chrony.conf default favicon.png grub.d issue.net logrotate.conf my.cnf passwd protocols rpc shadow- sysctl.conf wpa_supplicant
    alternatives chrony.keys depmod.d filesystems gshadow kdump.conf logrotate.d my.cnf.d passwd- python rpm shells sysctl.d X11
    anacrontab cloud dhcp firewalld gshadow- kernel lsb-release.d NetworkManager pkcs11 rc0.d rsyncd.conf skel systemd xdg
    asound.conf cron.d DIR_COLORS fonts gss krb5.conf machine-id networks pki rc1.d rsyslog.conf ssh system-release xinetd.d
    at.deny cron.daily DIR_COLORS.256color fstab host.conf krb5.conf.d machine-info nginx plymouth rc2.d rsyslog.d ssl system-release-cpe yum
    audisp cron.deny DIR_COLORS.lightbgcolor gcrypt hostname ld.so.cache magic nscd.conf pm rc3.d rwtab statetab terminfo yum.conf
    audit cron.hourly dracut.conf GeoIP.conf hosts ld.so.conf mail.rc nsswitch.conf polkit-1 rc4.d rwtab.d statetab.d timezone yum.repos.d
    backup cron.monthly dracut.conf.d GeoIP.conf.default hosts.allow ld.so.conf.d makedumpfile.conf.sample nsswitch.conf.bak popt.d rc5.d sasl2 subgid tmpfiles.d
    bash_completion.d crontab dracut.conf.d? gnupg hosts.deny libaudit.conf man_db.conf ntp postfix rc6.d securetty subuid tuned
    bashrc cron.weekly e2fsck.conf GREP_COLORS init.d libnl mke2fs.conf ntp.conf ppp rc.d security sudo.conf udev
    binfmt.d crypttab eni_utils groff inittab libuser.conf modprobe.d openldap prelink.conf.d rc.local selinux sudoers vconsole.conf
    centos-release csh.cshrc environment group inputrc locale.conf modules-load.d opt printcap redhat-lsb services sudoers.d vimrc
    [dev@dev-lhn1d-retail-api1 etc]$ cat redhat-release
    CentOS Linux release 7.4.1708 (Core)
    [dev@dev-lhn1d-retail-api1 etc]$
4、# cat /proc/cpuinfo (Linux查看cpu相关信息,包括型号、主频、内核信息等)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
[dev@dev-lhn1d-retail-api1 proc]$ cat cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 85
model name : Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz
stepping : 4
microcode : 0x1
cpu MHz : 2500.008
cache size : 33792 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1
bogomips : 5000.01
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:

processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 85
model name : Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz
stepping : 4
microcode : 0x1
cpu MHz : 2500.008
cache size : 33792 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 2
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1
bogomips : 5000.01
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:

processor : 2
vendor_id : GenuineIntel
cpu family : 6
model : 85
model name : Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz
stepping : 4
microcode : 0x1
cpu MHz : 2500.008
cache size : 33792 KB
physical id : 0
siblings : 4
core id : 1
cpu cores : 2
apicid : 2
initial apicid : 2
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1
bogomips : 5000.01
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:

processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 85
model name : Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz
stepping : 4
microcode : 0x1
cpu MHz : 2500.008
cache size : 33792 KB
physical id : 0
siblings : 4
core id : 1
cpu cores : 2
apicid : 3
initial apicid : 3
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1
bogomips : 5000.01
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
[dev@dev-lhn1d-retail-api1 proc]$

Tip

  • 在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。
  • /etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
  • /bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。
  • 值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。
  • /var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。
  • cd .. 返回上一层目录 cd / 返回根目录 ls 列出文件夹和文件 pwd 当前的目录
  • 未完待续 。。。。

Xmind

Linux .jpg

Thanks


  转载请注明: 仕明同学 Linux学习

 上一篇
Rxjava2-Android-Samlpes(一) Rxjava2-Android-Samlpes(一)
最近工作不那么忙,计划重新搭建一个MVP架构!基于Rxjava2-Rxandroid首先掌握RxJava2的使用的方式! 此文章是根据老外amitshekhariitbhu的RxJava2-Android-SamplesDemo 改装而成
2018-11-30 Shiming_Li
下一篇 
我的第一个正式的Java后端程序 我的第一个正式的Java后端程序
项目背景: 公司有家新零售店,出租方是要根据每天的销售额度去收取租金,需要把后台的每天的订单数据给推送到第三方。关键这个数据不在我们的后台,是在有赞后台,由于公司人手紧张,领导直接安排我做,好吧!安卓工作量不饱和,后端来凑! 通过Http
2018-10-13 Shiming_Li
  目录