天天看点

Java 获取linux根目录下的文件夹_Linux系统常用命令汇总

1 Linux简介

Linux是免费的类Unix操作系统,支持多用户和多任务。

Java 获取linux根目录下的文件夹_Linux系统常用命令汇总

Linux发行版

知名的Linux发行家族和发行版有:Ubuntu(Debian发行)、Centos(Fedora发行)等。

2 Linux基础知识

2.1 基础知识

  • 目录结构:Linux的目录结构为树状结构,最顶级的目录为根目录 / 。
  • 目录的符号:/正斜杠表示根目录或目录分隔符,~符号代表用户的主目录。.点号代表当前目录。 .. 两个点号代表父级目录。
  • 绝对路径:以根目录/开始的路径。比如/usr/bin。
  • 相对路径:不以根目录/开始的路径。比如当前目录为/usr/bin时,cd java表示切换到/usc/java。

2.2 命令的语法

命令的语法

:命令关键字+空格+短横线+选项+参数,比如:ls -a /home。

命令的英文命令全称

:linux很多命令的关键字其实就是英文命令的缩写,了解这一点对了解命令关键字很有帮助!

查看命令的帮助:命令后加上help参数或命令作为man命令的参数,比如

ls --help

、man ls。这个命令经常用到,如果对命令不熟悉可以立即查看命令的说明。

3 Linux常用命令

3.1 目录相关的命令

提示:搞清楚命令的英文全称,对于理解和记忆很有帮助。

  • ls:list的缩写,列出目录或文件。
  • cd:change directory的缩写,切换目录。
  • pwd:print working directory的缩写,打印当前工作目录。
  • mkdir:make directory的缩写,创建文件夹。
  • rmdir:remove directory的缩写,删除空的文件夹。
  • rm:remove的缩写,删除文件或文件夹。
  • cp:copy的缩写,复制文件或文件夹。
  • mv:move的缩写,移动文件/文件夹,或修改文件/文件夹的名称。

命令用法举例:

用法:ls [选项]... [文件]...

举例:ls -al # 用较长格式列出所有文件,包括隐藏文件。

提示

:如果对命令不熟悉,可以查看命令帮助,比如创建文件不知道怎么使用mkdir时,使用mkdir --help查看帮助。

实例

:在目录/home/grid/learn中创建一个文件夹java,创建文件夹Java/bin(Linux区分大小写),复制、移动、删除这两个文件夹。

[[email protected] learn
           
3.2 文字编辑

vi是一个文本编辑器,所有的 Unix Like 系统都会内建 vi 文本编辑器。而vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。

一共有三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。

Java 获取linux根目录下的文件夹_Linux系统常用命令汇总

vim界面

简单说明:启动 vi/vim,便进入了命令模式。键入a,进入到输入模式,可以开始编辑文本。按ESC键,进入到命令模式,按一下冒号键,进入到底线命令模式。

实例

:使用vim创建一个新文件,键入一些字符,并保存。

[[email protected] learn
           
3.3 查看文件内容
  • cat:concatenate的缩写,查看文件内容。
  • tac:cat命令倒着写就是tac,从最后一行开始显示。
  • nl:number of lines,显示文件内容并显示行号。
  • more:一页一页的显示内容。
  • less:和more命令类似,less还可以向前翻页。q退出less命令显示界面。
  • head:查看前几行。
  • tail:查看后几行。
实例

:在/home/grid/learn目录中创建文件readme.txt,键入一些字符,并使用多种命令查看文件内容。

[[email protected] learn
           
3.4 文件属性相关的命令

使用ll命令显示文件时,会有形似“dr-xr-xr-x”的前缀,其中第一个d表示这是一个directory目录,后面9为是owner/group/others的read/write/execute权限,短横线表示没有相应的权限。可以使用数字去代表权限属性,每三位数字分别使用420。或者使用“+-=”符号权限去代表权限的加入、去掉、设定。

  • chgrp:change group的缩写,改变文件所属的组。
  • chown:change owner的缩写,改变文件拥有者,也可以更改文件属组。
  • chmod:change mode的缩写,改变文件的属性,是owner/group/others三种用户的read/write/execute权限。

用法举例:chgrp [选项]... 用户组 文件...

 或:chgrp [选项]... --reference=参考文件 文件...

实例

:为/hone/grid/learn目录下的readme.txt设置权限:用户组修改为root;拥有者改为某个用户test;权限设置为属主可读可写可执行、属组可读、其他用户组没有任何权限。

[[email protected] learn
           
3.5 用户和用户组的管理

Linux是一个多用户多任务的操作系统,可以同时登陆多个用户,各自拥有各自的资源。

完成用户管理的命令实际上都是对有关的系统文件进行修改,与用户和用户组相关的信息都存放在一些系统文件中,这些文件包括/etc/passwd, /etc/shadow, /etc/group等。

/etc/passwd中一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell。

Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。

  • useradd:添加用户
  • userdel:删除用户
  • usermod:修改用户
  • passwd:修改用户口令
  • groupadd:添加用户组
  • groupdel:删除用户组
  • groupmod:修改用户组
实例

:使用root账户,添加用户组test和用户lisi,并完成修改和删除的操作。

[[email protected] ~
           
3.6 磁盘管理
  • df:disk free的缩写,报告还剩多少空间。
  • du:disk usage的缩写,磁盘使用情况。
  • fdisk:format disk的缩写,格式化磁盘和磁盘分区。
  • mount:挂载磁盘。
  • umount:卸载磁盘。

用法:df [选项]... [文件]...

显示每个文件所在的文件系统的信息,默认是显示所有文件系统。

实例

:使用df列出所有磁盘信息;

[[email protected] ~
           

3.7 包的管理

package软件包类似windows系统的程序。在Linux系统中,也可以进行软件包的安装、删除。

3.7.1 yum

yum,yellowdog updater modified 的缩写,在Fedora和RedHat软件包管理器。能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,安装所有依赖的软件包。适用的发行版操作系统有centos。

yum常用命令:

  • 列出所有可更新的软件:yum check-update
  • 仅安装指定的软件命令:yum install <package_name>(需要root账户执行)
  • 列出所有可以安裝的包:yum list <package_name>
  • 列出所有已经安裝的包:yum list installed <package_name>
  • 删除软件包:yum remove <package_name>
  • 查找软件包:yum search <keyword>
3.7.2 dpkg

dpkg:debian packager的简写,为debian发行家族专门开发的套件管理系统,方便软件的安装、更新及移除。适用的系统有Ubuntu。

语法:dpkg [选项...] <.deb file name>

示例:dpkg -i XX_i386.deb

3.7.3 rpm

rpm:RedHat Package Manager的缩写,是RedHat公司研发的程序包管理器。适用的系统有CentOS。

语法:rpm [选项...]

示例:rpm -ivh package_name

3.7.4 apt-get

apt-get,Advanced Package Tool的缩写,适用于deb包管理式的操作系统,可以自动从互联网的软件仓库(repositories)中搜索、安装、升级、卸载软件或操作系统。

示例:apt-get install package_name

3.7.5 安装tar.gz源代码包

很多时候我们可以去软件包的官网下载tar.gz的软件包,里面包括了已经经编译可以马上运行的程序,只需要下载和解压(即安装)就可以使用。使用tar命令解压(安装)。

用法: tar [选项...] [FILE]...

示例:tar -xvf xx.tar.gz

实例

:搜索并安装numpy包。

[[email protected] ~
           

4 Shell命令

用户如何使用操作系统呢?Linux系统如何和用户交互?Shell命令就是解决这个问题的。

Shell,中文意思是壳,

顾名思义

,是连接Linux核心的一种应用程序。shell就是连接用户和操作系统的桥梁,为使用者提供操作界面的命令解析器。

从可视化操作方式上,shell可以分为两类,图形界面shell(Graphical User Interface shell 即 GUI shell)和命令行式shell(Command Line Interface shell ,即CLI shell)。从交互方式上,有交互式shell和非交互式shell两类。

Shell脚本,是指为 shell 编写的脚本程序。通常所说的 shell编程就是一组为shell编写的脚本程序。

Shell 种类比较多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)等。

4.1 bash编程

Bourne Again shell (bash),是 Bourne shell(sh)的扩展。bash 有很灵活和强大的编程接口,同时又有很友好的用户界面。

4.2 第一个shell脚本

  • shell脚本的编写方式:使用vim命令创建一个文件,输入内容即可。
  • shell脚本的文件后缀名:shell脚本后缀名一般是.sh(可以没有后缀名,但是一个文件应该有命名规范)。
  • shell脚本的执行方式:(1)作为可执行文件:首先使用chmod命令添加x(execute可执行)权限。然后使用“./xx.sh”执行。(2)作为解释器参数:/bin/sh xx.sh。
注意 :一定要写成 ./xx.sh,而不是 xx.sh,“./”代表当前目录。因为运行脚本时linux 系统会去 PATH 系统环境变量中寻找有没有叫 xx.sh 的,当前目录通常不在 PATH 里,所以就会找不到命令,报错“bash: XX.sh: command not found”。使用./xx.sh 告诉系统说,就在当前目录中查找。
实例

:新建一个shell脚本,打印出helloworld。

[[email protected] learn
           

4.3 shell变量

其他内容,待更新