Linux的常用指令用法

目录

1. 常用指令

1.1 ls

 1.2 pwd

1.3 cd

1.4 快捷键

1.5 touch

 1.6 cat

1.7 mkdir

1.8 rm

1.9 cp

1.10 mv

1.11 man 

1.12 less

1.13 head

1.14 tail

 1.15 date

1.16 vim

1.1.7 grep

1.18 ps

1.19 netstat

2.Linux 权限

2.1 用户操作

 2.2 文件类型和访问权限

2.3 修改文件权限


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) 路径

形如 : /usr/tomcat/logs/ 以根目录开头的 , 称为绝对路径。
形如 : ./logs . 或者 .. 开头的 , 称为相对路径。

1.4 快捷键

1)使用 tab 键补全

我们敲的所有的 Linux 命令 , 都可以使用 tab 键来尝试补全 , 加快效率 .
2)复制粘贴
复制:ctrl + insert
粘贴:ctrl + insert

3)重新输入

如果命令或者目录敲错了 , 可以 ctrl + c 取消当前的命令

1.5 touch

语法 : touch    文件
功能 : touch  命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
例如创建一个空文件
touch test.txt

 

 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   命令
常用选项
-k 根据关键字搜索联机帮助
num 只在第num章节找
man man 能够看到 man 手册中的若干个章节及其含义
举例
man ls
输入命令后,就会弹出很多相关的指令及说明

1.12 less

语法: less   文件
功能 :查看文件内容, 不会立刻把所有文件内容加载到内存中, 也能进行查找。

 选项

j k / 方向键: 向上向下滚动屏幕.

-N  显示每行的行号

/字符串:向下搜索“字符串”的功能

n:重复前一个搜索(与 / 或 ? 有关)

q: 退出
语法: head [ 参数 ]... [ 文件 ]... 
功能 head  用来显示档案的开头至标准输出中,默认 head 命令打印其相应文件的开头 10 行。
选项
-n<行数> 显示的行数

1.14 tail

语法: tail [ 必要参数 ] [ 选择参数 ] [ 文件
功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
选项:
-f 循环读取
-n<行数> 显示行数

举例:有一个文件共有100行内容,请取出第50行内容

# 方法 1
head -n50 test > tmp       # 将前 50 行装入临时文件 tmp
tail -n1 tmp               # 得到中间行
# 方法 2
head -n50 test | tail -n1

 1.15 date

date 指定格式显示时间: date +"%Y - %m - %d %H:%M:%S"
date 用法: date [OPTION]... [+FORMAT]
1)  在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记
%H : 小时(00..23)
%M : 分钟(00..59)
%S : 秒(00..61)
%X : 相当于 %H:%M:%S
%d : 日 (01..31)
%m : 月份 (01..12)
%Y : 完整年份 (0000..9999)
%F : 相当于 %Y-%m-%d

 显示现在几点,data "+%H"

 

 2)时间戳

时间 -> 时间戳: date +%s
时间戳 -> 时间:date -d@1656383064

 Unix时间戳(英文为Unix epoch, Unix time, POSIX time Unix timestamp)是从197011

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 [ 参数 ]... [ 文件 ]... 
功能 :用于查找文件中是否包含指定字符串 , 并显示对应的行 .
选项
-n<行数> 显示的行数
-w 全字匹配. 要求整个单词都完全相同的结果才能匹配出来, 而不仅仅是一个单词的一部分.
-r 递归查找. 可以搜索多级目录下的所有文件.
--color 高亮查找到的结果
--include 指定查找某些文件
--exclude 指定排除某些文件

查看java.txt 文件里是否含有字符串‘hello’ 

grep 'hello' java.txt

 

1.18 ps

语法: ps [ 参数 ]...
功能 :用于查看当前系统上运行的进程
a 显示一个终端的所有进程
u 以用户为主的格式来显示程序状况
x 显示所有程序,不以终端机来区分
ps aux   # 显示系统上所有的进程
ps aux | grep " 进程名 "
ps aux | grep " 进程 id"
ps aux | grep java

 

1.19 netstat

语法: netstat [ 参数 ]...
功能 :查看系统上的网络状态.
-a 显示所有正在或不在侦听的套接字
-n 显示数字形式地址而不是去解析主机、端口或用户名
-p 显示套接字所属进程的PID和名称
netstat -anp
netstat -anp | grep " 进程名 "
netstat -anp | grep " 端口号 "

 查看8080端口是否在使用

netstat -anp | grep "8080"

2.Linux 权限

2.1 用户操作

Linux 下有两种用户:超级用户( root )、普通用户。
  超级用户:可以再linux系统下做任何事情,不受限制
普通用户:在linux下做有限的事情。
超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。 
我们的服务器买好了 , 默认是 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)三种角色
访问一个文件的人可能分成三种类别:
文件和文件目录的所有者: u---User
文件和文件目录的所有者所在的组的用户: g---Group
其它用户: o---Others

 2.2 文件类型和访问权限

在控制台,通过 命令 ll 显示文件或目录的详细信息,如下

 解析:

 1)文件类型

d :文件夹
- :普通文件
l :软链接(类似 Windows 的快捷方式)
b :块设备文件(例如硬盘、光驱等)
p :管道文件
c :字符设备文件(例如屏幕等串口设备)
s :套接口文件

2)权限 

r 表示可读

w 表示可写

x 表示可执行

- 表示没有对于的权限

rwx 表示可读 可写 可执行

 rw- 表示可读 可写 不可执行

r-x  表示可读 不可写 可执行

2.3 修改文件权限

功能: 设置文件的访问权限
格式: chmod [ 参数 ] 权限 文件名
R -> 递归修改目录文件的权限
说明:只有文件的拥有者和 root 才可以改变文件的权限

 chmod命令权限值的格式

1)用户表示符 +/-= 权限字符
+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
用户符号:
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户

 举例

# chmod u+w /home/abc.txt
# chmod o-x /home/abc.txt
# chmod a=x /home/abc.txt

猜你喜欢

转载自blog.csdn.net/m0_60494863/article/details/125479091
今日推荐