目录
Linux 是一个操作系统,和Windows 是“并列的关系”。
1. 常用指令
1.1 ls
ls 是选择的前缀,选择目录或者文件。对于目录,该命令列出该目录下的所有子目录与文件对于文件,将列出文件名以及其他信息。
1)ls -a 列出目录下的所有文件,包括以 . 开头的隐含文件
2)ls -d 将目录像文件一样显示,而不是显示其下的文件。如:ls -d 指定目录
3)ls -k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
4)ls -l 或者 ll 列出文件的详细信息
5)ls -r 对目录反向排序
6)ls -t 以时间排序
7)ls -R 列出所有子目录下的文件。(递归)
8)tree 列出目录下的所有文件
1.2 pwd
显示用户当前所在的目录
1.3 cd
Linux 系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。
cd 的功能就是切换到指定目录。
cd后面要跟上一个路径,这个路径可以是绝对路径,也可以是相对路径
1)cd 目录名 。 进入指定目录
2)cd .. 返回上级目录
3)几个特殊的目录:
如果处于根目录,想返回上级目录,可直接命令 cd ,就可以返回
4) 路径
1.4 快捷键
1)使用 tab 键补全
我们敲的所有的 Linux 命令 , 都可以使用 tab 键来尝试补全 , 加快效率 .
2)复制粘贴
复制:ctrl + insert
粘贴:ctrl + insert
3)重新输入
如果命令或者目录敲错了 , 可以 ctrl + c 取消当前的命令
1.5 touch
语法 : touch 文件
功能 : touch 命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
例如创建一个空文件
1.6 cat
语法 : cat 文件
功能 : 查看目标文件的内容
cat java.txt
1.7 mkdir
语法 : mkdir 目录或文件名
功能 :在当前目录下创建一个名为 “” 的目录
常用选项 :
-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在 , 加上此选项后 , 系统
将自动建立好那些尚不存在的目录 , 即一次可以建立多级目录
如递归创建文件
# mkdir -p test_dir/aaa/111/hello.text
1.8 rm
rm的功能是删除文件或目录
通常使用 rm -ri 文件名,来进行删除,执行命令后,控制台会询问是否删除,写入 y,就可以删除成功。如下删除 rm -ri test.txt
注意: rm -rf / ,万万不可输入运行,很危
1.9 cp
语法 : cp 需要复制的文件或目录 目地
功能 : 复制文件或目录
说明 : cp 指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息.
1) -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
2)-i 或 --interactive 覆盖文件之前先询问用户
3 )-r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录
或符号链接,则一律视为普通文件处理
4) -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理
例如
将同级的文件,java.txt 复制到 hi.txt 文件下
cp java.txt hi.txt
将目录复制到目录下,需要加上 -r
cp -r ccc/ aaa/
注意:复制的文件或目录,和复制到的目地是要同级的,不然复制不进去
并且文件不能将目录复制到文件下,
如下
1.10 mv
语法 : mv 需要移动的 源文件或目录 目标文件或目录
功能:
1. 视 mv 命令中第二个参数类型的不同(是目标文件还是目标目录), mv 命令将文件重命名或将其移至一个新的目录中。
2. 当第二个参数类型是文件时, mv 命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个, mv 命令将各参数指定的源文件均移至目标目录中。
常用选项
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖
示例:aaa 和 bbb是处于同级目录,然后将 bbb放入 aaa 目录中
mv bbb aaa/
将文件移动到上级目录,这个需要先写需要移动的目录处在哪个目录下,在写移动文件,然后 ./
mv aaa/fff ./
将目录重命名并移动到上级目录
mv aaa/bbb fff/
将目录重命名,不移动
mv fff/ ggg
1.11 man
Linux 的命令有很多参数,可以通过查看联机手册获取帮助。
语法 : man 命令
常用选项
举例
man ls
输入命令后,就会弹出很多相关的指令及说明
1.12 less
语法: less 文件
功能 :查看文件内容, 不会立刻把所有文件内容加载到内存中, 也能进行查找。
选项:
1.13 head
语法: head [ 参数 ]... [ 文件 ]...
功能 : head 用来显示档案的开头至标准输出中,默认 head 命令打印其相应文件的开头 10 行。
选项 :
1.14 tail
语法: tail [ 必要参数 ] [ 选择参数 ] [ 文件 ]
功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
选项:
举例:有一个文件共有100行内容,请取出第50行内容
1.15 date
date 指定格式显示时间: date +"%Y - %m - %d %H:%M:%S"
date 用法: date [OPTION]... [+FORMAT]
1) 在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记
显示现在几点,data "+%H"
2)时间戳
时间 -> 时间戳: date +%s
时间戳 -> 时间:date -d@1656383064
Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日
( UTC/GMT 的午夜)开始所经过的秒数,不考虑闰秒
1.16 vim
vim 是一个知名的文本编辑器. 前面的 cat, less, head, tail 等命令只能查看文本, 不能编辑文本. 使 用 vim 就可以进行编辑了。vim 就相当于 Windows 的记事本. 只不过功能比记事本强大一些。
1) 创建文件 / 打开文件
vim [ 文件名 ]
2) 进入插入模式
vim 打开文件后默认是 普通模式 . 普通模式下键盘的按键表示一些特殊功能的快捷键 . ( 例如按下 j 并不是 输入字母 "j", 而是表示光标往下移动一行 ). 需要进入插入模式才能进行文本编辑 .
使用 i 键可以进入到 插入模式 . ( 左下角提示 --INSERT-- ) 然后就可以像记事本一样正常编辑了。
3) 保存
在插入模式下不能保存文件 , 需要先回到 普通模式 . 按下 Esc 回到普通模式 .
在普通模式下输入 :wq , 再按下回车 , 即可保存文件并回到控制台
4)查看刚刚输入的内容
cat Java.txt
1.1.7 grep
语法: grep [ 参数 ]... [ 文件 ]...
功能 :用于查找文件中是否包含指定字符串 , 并显示对应的行 .
选项 :
查看java.txt 文件里是否含有字符串‘hello’
grep 'hello' java.txt
1.18 ps
语法: ps [ 参数 ]...
功能 :用于查看当前系统上运行的进程
ps aux | grep java
1.19 netstat
语法: netstat [ 参数 ]...
功能 :查看系统上的网络状态.
查看8080端口是否在使用
netstat -anp | grep "8080"
2.Linux 权限
2.1 用户操作
Linux 下有两种用户:超级用户( root )、普通用户。
我们的服务器买好了 , 默认是 root 用户 . 但是 root 用户权力比较大 , 一旦使用不当可能会造成严重后果 。(例如 rm -rf /). 因此我们真正在公司中不会直接使用 root 用户来操作服务器。
1)创建用户
命令 useradd [ 用户名 ]
功能 创建新的用户
示例
useradd work
2)配置密码
命令 passwd [ 用户名 ]
功能 设置或修改用户密码
示例
passwd 333311
注意 , 输入密码的时候 , 在控制台中不会有提示 . 但实际上已经输入进去了。
3)切换用户
命令 : su [ 用户名 ]
功能 :切换用户。
例如,要从 root 用户切换到普通用户 user ,则使用 su user 。
要从普通用户 user 切换到 root 用户则使用 su root ( root 可以省略),此时系统会提示输入 root 用户的口令。
4)三种角色
访问一个文件的人可能分成三种类别:
2.2 文件类型和访问权限
在控制台,通过 命令 ll 显示文件或目录的详细信息,如下
解析:
1)文件类型
2)权限
2.3 修改文件权限
功能: 设置文件的访问权限
格式: chmod [ 参数 ] 权限 文件名
chmod命令权限值的格式
1)用户表示符 +/-= 权限字符
举例
# chmod u+w /home/abc.txt
# chmod o-x /home/abc.txt
# chmod a=x /home/abc.txt