Linux 是一个操作系统. 和 Windows 是 "并列" 的关系
Linux 严格意义来说只是一个 "操作系统内核".
一个完整的操作系统 = 操作系统内核 + 配套的应用程序.
RedHat一直都提供源代码的发行方式,CentOS就是将RedHat发行的源代码去掉 RedHat 的 logo 商标, 重新编译一次.
CentOS可以得到RedHat的所有功能,甚至是更好的软件。但CentOS并不向用户提供商业 支持,当然也不负上任何商业责任。
主要有四种:
1. 直接安装在物理机上. 但是由于 Linux 桌面使用起来非常不友好. [不推荐].
2. 使用虚拟机软件, 将 Linux 搭建在虚拟机上. 但是由于当前的虚拟机软件(如 VMWare 之类的)存在 一些 bug , 会导致环境上出现各种莫名其妙的问题, 比较折腾. [非常不推荐]
3. 使用 WSL (Windows Subsystem for Linux). 这个是 Windows 近几年开发的新功能, 在 Windows 系统内集成了一个 Linux. 但是目前这个技术还不够成熟. [暂时不推荐].
4. 使用云服务器, 可以直接在 腾讯云, 阿里云或华为云 等服务器厂商处直接购买一个云服务器. [墙裂推荐]
使用云服务器不仅环境搭建简单, 避免折腾, 同时还有一个最大的好处, 部署在云服务器上的项目可以直 接被外网访问到, 这个时候就和一个公司发布一个正式的网站没有任何区别. 也就能让我们自己写的程序 真的去给别人去使用.
语法: ls [选项] [目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
常用选项:
语法: pwd
功能:显示用户当前所在的目录
Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。
语法: cd 目录名
功能: 改变工作目录。将当前工作目录改变到指定的目录下.
举例:
cd .. : 返回上级目录
cd ~ :进入用户家目录
cd - :返回最近访问目录
粘贴:shift + fn + insert
复制: ctrl + fn + insert
Linux中ctrl + c 并不是复制,作用是终止输入当前行
Linux 是一个树形目录结构.
形如: /usr/share/tomcat/logs/ 以根目录开头的, 称为绝对路径.
形如: ./logs 以 . 或者 .. 开头的, 称为相对路径
我们敲的所有的 Linux 命令, 都可以使用 tab 键来尝试补全, 加快效率.
如果命令或者目录敲错了, 可以 ctrl + c 取消当前的命令.
语法: touch [选项]... 文件...
功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的 文件。
举例:
touch hello.txt
语法:cat [选项] [文件]
功能: 查看目标文件的内容
举例:
cat hello.txt
语法: echo 内容
功能:写内容到标准输出。配合重定向操作把内容写道指定的文件中
> :清空原有内容,写入指定的数据
>> : 追加指定数据
语法:mkdir [选项] dirname...
功能:在当前目录下创建一个名为 “dirname”的目录
常用选项:-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统 将自动建立好那些尚不存在的目录,即一次可以建立多级目录
举例:
mkdir newtemp : 创建一个新的目录(新文件夹)
mkdir –p test/test1 : 递归建立多个目录
mkdir aaa bbb ccc : 在当前目录下创建多个目录
语法:rm [-f-i-r-v] [dirName/dir]
功能:删除文件或目录
常用选项:
举例
rm test.txt
重要注意事项:
千万不要运行 rm -rf /
语法:cp [选项] 源文件或目录 目标文件或目录
功能: 复制文件或目录
说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存 在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息
常用选项:
举例:
cp test1.txt temp/test1.txt
cp test1.txt temp //只指定了目标目录,就会以源文件名为目标文件名
cp test1.txt temp/test2.txt //指定了目标文件名
语法: mv [选项] 源文件或目录 目标文件或目录
功能:
1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
常用选项
举例:
mv test1.txt test2.txt
Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。
语法: man [选项] 命令
常用选项:
举例
man ls
相当于Windows中的记事本打开文件
语法: less [参数] 文件
功能:查看文件内容. 不会立刻把所有文件内容加载到内存中. 也能进行查找.
选项:
语法:head [参数]... [文件]...
功能:head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。从文件第一行开始加载
选项: -n 显示的行数
举例:
head test.txt
head -n50 test.txt
语法: tail [必要参数] [选择参数] [文件]
功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
从文件的最后一行开始加载
选项:
tail test.txt
tail -n50 test.txt
tail -100 test.txt
date 指定格式显示时间: date +"%Y-%m-%d %H:%M:%S"
date 用法:date [OPTION]... [+FORMAT]
Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日 (UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
vim 是一个知名的文本编辑器. 前面学习的 cat, less, head, tail 等命令只能查看文本, 不能编辑文本. 使 用 vim 就可以进行编辑了.
vim 就相当于 Windows 的记事本. 只不过功能比记事本强大一些.
vim [文件名]
vim 打开文件后默认是普通模式. 普通模式下键盘的按键表示一些特殊功能的快捷键. (例如按下 j 并不是 输入字母 "j", 而是表示光标往下移动一行). 需要进入插入模式才能进行文本编辑. 使用 i 键可以进入到插入模式. (左下角提示 --INSERT-- ) 然后就可以像记事本一样正常编辑了.
在插入模式下不能保存文件, 需要先回到普通模式 . 按下 Esc 回到普通模式. 在普通模式下输入 :w , 再按下回车, 即可保存文件.
在插入模式下不能退出, 需要先回到普通模式.
在普通模式下输入 :q , 再按下回车, 即可退出
也可以直接使用 :wq 同时执行保存和退出.
语法:grep [参数]... [文件]...
功能:用于查找文件中是否包含指定字符串, 并显示对应的行.
选项:
举例:
grep "hello" Hello.java
语法:ps [参数]...
功能:用于查看当前系统上运行的进程
选项:
举例:
ps aux # 显示系统上所有的进程
ps aux | grep "进程名"
ps aux | grep "进程id"
语法:netstat [参数]...
功能:查看系统上的网络状态.
选项:
举例:
netstat -anp
netstat -anp | grep "进程名"
netstat -anp | grep "端口号"
Linux 命令大全 | 菜鸟教程
Linux下有两种用户:超级用户(root)、普通用户。
命令: useradd [用户名]
功能: 创建新的用户
示例 :
useradd zrs
命令: passwd [用户名]
功能: 设置或修改用户密码
示例:
passwd zrs
注意, 输入密码的时候, 在控制台中不会有提示. 但实际上已经输入进去了
命令:su [用户名]
功能:切换用户。
例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的 口令。
访问一个文件的人可能分成三种类别.
命令 ll 显示了一个文件的详细信息. 解读如下图:
功能:设置文件的访问权限
格式:chmod [参数] 权限 文件名
常用选项:
chmod命令权限值的格式
① 用户表示符+/-=权限字符
用户符号:
举例:
# chmod u+w /home/abc.txt
# chmod o-x /home/abc.txt
# chmod a=x /home/abc.txt
②三位8进制数字
举例:
# chmod 664 /home/abc.txt
# chmod 640 /home/abc.txt