Linux基础入门篇——Java程序员必会常用命令(上)

Linux常用指令

一、用户管理

1、useradd添加用户

useradd 用户名添加用户,默认会在/home目录下创建一个用户名相同的用户家目录,默认的组也是同用户名。需要root用户。

eg

useradd snow

就会在home目录下生成snow目录

useradd -d username指定用户家目录。

eg.

useradd -d /home/snow/ user1
2、给用户指定或修改密码
passwd username

根据提示输入两次密码

3、删除用户
userdel username #删除用户,但保留家目录
userdel -r username  #删除用户及其家目录
4、查询用户信息
id username #
eg.================================
[root@snow snow]# id forgetxue
uid=1000(forgetxue) gid=1000(forgetxue)=1000(forgetxue)
#显示组信息和用户信息
5、切换用户
su - 要切换到的用户名

1)从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。

2)当需要返回到原来用户时,使用 exit 指令

二、用户组

类似于角色,系统可以对有共性的多个用户进行统一的管理

1、添加一个组
groupadd 组名
2、删除一个组
groupdel 组名
3、添加用户时加上组
useradd -g groupname username
4、更改用户的组
usermod -g newgroupname username
5、 /etc/passwd 文件

用户(user)的配置文件,记录用户的各种信息

每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录 Shell

6、/etc/shadow 文件

口令的配置文件

每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

7、/etc/group 文件

组(group)的配置文件,记录 Linux 包含的组的信息每行含义:组名:口令:组标识号:组内用户列表

三、指定运行级别

1、运行级别说明:

0 :关机

1 :单用户【找回丢失密码】

2:多用户状态没有网络服务

3:多用户状态有网络服务

4:系统未使用保留给用户

5:图形界面

6:系统重启

常用运行级别是 3 和 5 ,要修改默认的运行级别可改文件

/etc/inittab 的 id:5:initdefault:这一行中的数字

2、切换到指定运行级别的指令
init 运行级别值
eg.
init 3
....
init 5
init 1

如何找回 root 密码,如果我们不小心,忘记 root 密码,怎么找回。

思路: 进入到 单用户模式,然后修改 root 密码。因为进入单用户模式,root 不需要密码就可以登录。

总结

开机->在引导时输入 回车键-> 看到一个界面输入 e -> 看到一个新的界面,选中第二行(编辑内核)在输入 e-> 在这行最后输入 1 ,再输入 回车键->再次输入 b ,这时就会进入到单用户模式。

这时,我们就进入到单用户模式,使用 passwd 指令来修改 root 密码。

四、帮助指令

1、man

man [命令或配置文件](功能描述:获得帮助信息)

eg.

man ls
2、help

help 命令 (功能描述:获得 shell 内置命令的帮助信息)

eg.

help cd

五、文件目录类

1、pwd
pwd #查看当前工作目录的绝对路径
2、ls 指令

• 基本语法

ls [ 选 项] [目录或是文件]

• 常用选项

-a :显示当前目录所有的文件和目录,包括隐藏的。

-l :以列表的方式显示信息

-h 以一个合适的单位显示文件大小

eg.

ls -l /home #工作目录要于显示的目录不一致
ls -l #显示当前目录
3、mkdir创建目录
mkdir 目录名  #只能创建一个目录
mkdir -p /目录名1/.../目录名n  #创建多级目录
4、rmdir删除目录
rmdir 目录  #只能删除空目录
rmdir -rf 目录  #-r表示递归删除目录及目录下的文件,-f表示强制不提醒
5、touch指令创建新文件
touch hello.txt
6、cp拷贝文件
cp src dest #将文件拷贝到dest目录
eg.
cp hello.txt /home/snow

cp -r srcdir destdir
eg.
cp -r snow/ forgetxue/#将home目录下的snow目录下的所有内容递归拷贝到forgetxue/目录下
\cp -r snow/ forgetxue #如果目的目录下已有相同的文件,关闭覆盖提醒
7、rm指令

rm 指令移除【删除】文件或目录···

• 基本语法

rm [选项] 要删除的文件或目录

• 常用选项

-r :递归删除整个文件夹

-f : 强制删除不提示

#cd 到home目录
rm -rf snow/ #递归删除snow文件目录下的所有文件及子目录,不提醒

rm  -f hello.txt #删除hello.txt不提醒
8、mv移动指令

移动文件与目录或重命名

• 基本语法

mv oldNameFile newNameFile (功能描述:重命名)

mv /temp/movefile /targetFolder (功能描述:移动文件)

mv hello.txt helloworld.txt #重命名
mv hello.txt /root/ #移动文件到root目录下
8、cat指令只读模式查看文件

cat 查看文件内容,是以只读的方式打开。

• 基本语法

cat [选项] 要查看的文件

• 常用选项

-n :显示行号

cat -n /etc/profiles | more #分页浏览profiles文件

| more 表示分页浏览,“|”称为管道符,语义是其前面指令得到的结果交由后面的指令来处理

9、more指令

more 指令是一个基于 VI 编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more 指令中内置了若干快捷键,详见操作说明

• 基本语法

​ more 要查看的文件

eg.

more /etc/passed

more命令打开文件快捷键

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WTTWhfIk-1582902560903)(C:\Users\19698\AppData\Roaming\Typora\typora-user-images\image-20200226152544865.png)]

10、less指令

less指令用来分屏查看文件内容,它的功能与 more 指令类似,但是比 more 指令更加强大,支持各种显示终端。less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。

• 基本语法

less 要查看的文件

less etc/profiles
less指令下打开文件快捷键
操作功能说明
空格向下翻一页
[pagedown]向下翻一页
[pageup]向上翻一页
/字符串向下搜寻[字符串]: n:向下查找 N:向上查找
?字符串向上搜寻[字符串] n:向上查找 N:向下查找
q退出
11、> 指令和 >> 指令

> 输出重定向 : 会将原来的文件的内容覆盖

>> 追加: 不会覆盖原来文件的内容,而是追加到文件的尾部。

cd /home
ls -l > home.txt #将ls-l 命令显示的结果输出到home.txt文件,如果没有改文件就会在当前工作目录下创建该文件,若存在该文件,覆盖文件内容。
cat hello.txt > home.txt #用hello.txt的内容覆盖home.txt原来的内容

ls -l >> home.txt #追加在home.txt文件的结尾
cal >> home.txt #在home.txt文件结尾添加上日期信息

12、echo指令

• 基本语法

echo [选项] [输出内容]

echo $PATH #在控制台输出path环境变量

echo “内容” >> 文件

echo "hello World !" >> home.txt 在home.txt文件结尾添加hello world!
13、head 指令

head 用于显示文件的开头部分内容,默认情况下 head 指令显示文件的前 10 行内容

• 基本语法

head 文件 (功能描述:查看文件头 10 行内容)

head -n 5 文件 (功能描述:查看文件头 5 行内容,5 可以是任意行数)

14、tail指令

tail 用于输出文件中尾部的内容,默认情况下 tail 指令显示文件的后 的内容

语法:

tail mylog.log

tail -n 5 mylog.log #查看最后5行

tail指令常用来监听文件的更新

15、ln 软链接

软链接也叫符号链接,类似于 windows 里的快捷方式,主要存放了链接其他文件的路径

• 基本语法

ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)

cd / #进入到根目录
ln -s /home/forgetxue/ ftx # 为/home/forgetxue/ 目录创建软连接 ftx

cd ftx #进入到/home/forgetxue/

六、搜索查找

1、find 指令

find 指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。

• 基本语法

find [搜索范围] [选项]

选项:

选项功能
-name按文件名查找文件
-user查找指定用户的所有文件
-size按照大小查找
find -user forgetxue #查找用户forgetxue的所有文件

find /home -name hello.java 
#查询结果为:
/home/forgetxue/hello.java
#不支持模糊查询,但支持通配符
find /home -name *.txt #查询home目录下的所有txt文件(包括子目录)

find /home/ -size +20M #查询home目录下大雨20兆的文件
find /home/ -size -1000k #查询home目录下小于1000k的文件
find /home/ -size 20M #查询home目录下大小为20M的文件
2、locate指令

locate 指令可以快速定位文件路径。locate 指令利用事先建立的系统中所有文件名称及路径的locate 数据库实现快速定位给定的文件。Locate 指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新 locate 时刻。

语法:

locate 文件名

• 特别说明

由于 locate 指令基于数据库进行查询,所以第一次运行前,必须使用 updatedb 指令创建 locate 数据库。

3、grep指令

grep 过滤查找 , 管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。

• 基本语法

grep [选项] 查找内容 源文件

选项功能
-n显是查询匹配的行号
-i查询匹配忽略大小写
cat hello.txt | grep -ni hello #查找hello关键字

#也可以
cd /home
grep -ni hello hello.txt

七、压缩解压

1、zip/unzip

zip 用于压缩文件, unzip 用于解压的,这个在项目打包发布中很有用的

• 基本语法

zip [选项] XXX.zip 将要压缩的内容(功能描述:压缩文件和目录的命令)

unzip [选项] XXX.zip (功能描述:解压缩文件)

• zip 常用选项

​ -r:递归压缩,即压缩目录

• unzip 的常用选项

​ -d<目录> :指定解压后文件的存放目录

cd /home
zip -r forgetxue.zip forgetxue/ #将home目录下的forgetxue目录递归压缩,在home目录下会生成forgetxue.zip文件

#解压
unzip -d /root/package/ forgetxue.zip  #将forgetxue.zip解压到/root/package/目录下
2、tar指令

tar 指令 是打包指令,最后打包后的文件是 .tar.gz 的文件。

• 基本语法

tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)

• 选项说明

选项功能
-c产生.tar的打包文件
-v显示详细信息
-f指定压缩后的文件名
-z打包同时压缩
-x解包.tar文件
tar -zcvf myhome.tar.gz /home/ #打包home目录

tar -zxvf myhome.tar.gz -C /home/bb/ #解压到home目录下的bb 文件夹中,bb文件夹就会多一个home目录

八、权限管理

1、文件\目录的所有者、组

一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者文件的组默认是所有者所在的组,除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组.

1、查看文件的所有者
[root@snow home]# ls -alh
总用量 360M
drwxr-xr-x.  9 root      root       165 2月  27 23:59 .
dr-xr-xr-x. 17 root      root       235 2月  26 15:49 ..
drwxr-xr-x.  2 root      root        16 2月  21 23:35 aa 
drwxr-xr-x.  3 root      root        35 2月  26 17:21 bb
drwx------. 17 forgetxue forgetxue 4.0K 2月  25 19:23 forgetxue
-rw-r--r--.  1 root      root         0 2月  21 23:17 hello1.txt
-rw-r--r--.  1 root      root       446 2月  22 16:36 hello.txt
-rw-r--r--.  1 forgetxue forgetxue  707 2月  26 15:40 home.txt 
#以最后一行为例,第一个forgetxue指文件的所有者是forgetxue,第二个forgetxue 指该文件所在的组

2、更改文件的所有者

chown 用户名 文件名

[root@snow home]# chown forgetxue hello.txt #把hello.txt的所有者改成forgetxue
[root@snow home]# ls -alh
总用量 360M
drwxr-xr-x.  9 root      root       165 2月  27 23:59 .
dr-xr-xr-x. 17 root      root       235 2月  26 15:49 ..
drwxr-xr-x.  2 root      root        16 2月  21 23:35 aa
drwxr-xr-x.  3 root      root        35 2月  26 17:21 bb
drwx------. 17 forgetxue forgetxue 4.0K 2月  25 19:23 forgetxue
-rw-r--r--.  1 root      root         0 2月  21 23:17 hello1.txt
-rw-r--r--.  1 forgetxue root       446 2月  22 16:36 hello.txt #用户名变成了forgetxue
-rw-r--r--.  1 forgetxue forgetxue  707 2月  26 15:40 home.txt

3、更改文件的组

chgrp 组名 文件名

[root@snow home]# chgrp user2 hello.txt #把Hello.txt的组改成user2
[root@snow home]# ls -alh
总用量 360M
drwxr-xr-x.  9 root      root       165 2月  27 23:59 .
dr-xr-xr-x. 17 root      root       235 2月  26 15:49 ..
drwxr-xr-x.  2 root      root        16 2月  21 23:35 aa
drwxr-xr-x.  3 root      root        35 2月  26 17:21 bb
drwx------. 17 forgetxue forgetxue 4.0K 2月  25 19:23 forgetxue
-rw-r--r--.  1 root      root         0 2月  21 23:17 hello1.txt
-rw-r--r--.  1 forgetxue user2      446 2月  22 16:36 hello.txt #文件的组变成了user2
-rw-r--r--.  1 forgetxue forgetxue  707 2月  26 15:40 home.txt

2、文件权限
  • 第0位: 指明文件的类型(d, - , l , c , b)

    • d :目录
    • “-” :普通文件
    • c : 字符设备(键盘,鼠标)
    • b : 块文件、硬盘
  • 第1~3位:文件所有者对该文件拥有的权利

  • 第4~6位:文件所属组的其他用户对此文件拥有的权限

  • 第7~9位:其他组用户对该文件所拥有的权利

r、w 、x、 - 的含义
字符含义
r如果是文件,可读;如果是目录,可以打开查看。
w如果是文件,可以修改;如果是目录,可以在里面创建删除重命名
x代表可执行或可进入
-起到占位符的作用,保持三个字符一组的格式,不代表什么权限
drwxr-xr-x.  2 root      root        16 2月  21 23:35 aa
#d:目录;rwx所有者拥有读写进入的权限;r-x:同组的用户仅有读和进入的权限;r-x:其他组的用户仅具有读和进入的权限。
-rw-r--r--.  1 forgetxue forgetxue  707 2月  26 15:40 home.txt
# -:指明是一个普通文件,rw-:所有者有读写的权限,后面两个r--指明同组其他用户和其他组的用户只可读。


3、修改文件的权限chmod
chmod u=rwx, g=rx, o=x 文件或目录
chmod o+r 文件或目录
chomd g-w 文件或,目录

#===================
o :其他组的用户;g :同组的其他用户; a:所有用户; u:文件所有者
[root@snow home]# ls -alh
总用量 360M
drwxr-xr-x.  9 root      root       165 2月  27 23:59 .
dr-xr-xr-x. 17 root      root       235 2月  26 15:49 ..
drwxr-xr-x.  2 root      root        16 2月  21 23:35 aa
drwxr-xr-x.  3 root      root        35 2月  26 17:21 bb


[root@snow home]# chmod u=rwx,g=r,o=r aa
[root@snow home]# ls -alh
总用量 360M
drwxr-xr-x.  9 root      root       165 2月  27 23:59 .
dr-xr-xr-x. 17 root      root       235 2月  26 15:49 ..
drwxr--r--.  2 root      root        16 2月  21 23:35 aa #aa的权限发生了变化
drwxr-xr-x.  3 root      root        35 2月  26 17:21 bb

root@snow home]# chmod a+w aa #给所有用户添加写的权限
[root@snow home]# ls -alh
总用量 360M
drwxr-xr-x.  9 root      root       165 2月  27 23:59 .
dr-xr-xr-x. 17 root      root       235 2月  26 15:49 ..
drwxrw-rw-.  2 root      root        16 2月  21 23:35 aa


4、第二种方式:通过数字修改权限

规则:r=4 w=2 x=1

,rwx=4+2+1=7

chmod u=rwx,g=rx,o=x 文件目录名相当于 chmod 751 文件目录名

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值