Linux基本命令总结(佛系更)

目录

前言

一、Linux的基本目录

目录:

前缀:

二、Linux基本命令

文件相关

1.pwd:

2.ls [option] [file]:

3.cd [xxx]:

4.mkdir [option] directory:

5.rmdir [option] directory:

rm

6.touch file:

7.cp:

8.mv:

9.find

10.tar

11.gzip/gunzip

用户相关:

1.adduser、useradd

2.userdel

3.passwd

4.groupadd

5.su

系统、网络、进程等其他:

关于rpm:

ps:

kill:

clear:

man:

df/du:

top:


前言

        实际生活中企业在进行大数据开发或分析时可能会存在多台主机,通过使用Linux系统进行连接,随后进行分布式的存储和计算,如 hive 就是一种结构化数据库,使用的类似SQL语法--Hive SQL,因此对于Linux系统应该要有一定的了解,本文总结一下Linux系统中的常用命令

一、Linux的基本目录

目录:

        Linux基本目录基本不需要调整,关于Linux的基本目录结构介绍:

[root@hadoop-master /]# ls -l
总用量 24
lrwxrwxrwx.   1 root root    7 3月  21 2020 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 10月 30 2022 boot
drwxr-xr-x.  20 root root 3240 7月   1 2023 dev
drwxr-xr-x.  88 root root 8192 8月   6 13:37 etc
drwxr-xr-x.   6 root root   95 12月 12 2022 home
lrwxrwxrwx.   1 root root    7 3月  21 2020 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 3月  21 2020 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 4月  11 2018 media
drwxr-xr-x.   2 root root    6 4月  11 2018 mnt
drwxr-xr-x.   3 root root   26 10月 30 2022 mydir
drwxr-xr-x.   7 root root  181 7月   1 2021 opt
dr-xr-xr-x. 117 root root    0 7月   1 2023 proc
drwxr-xr-x.   3 root root   33 10月 30 2022 project1
dr-xr-x---.   7 root root 4096 12月 12 2022 root
drwxr-xr-x.  24 root root  660 8月   6 13:37 run
lrwxrwxrwx.   1 root root    8 3月  21 2020 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 4月  11 2018 srv
dr-xr-xr-x.  13 root root    0 7月   1 2023 sys
drwxrwxrwt.  13 root root 4096 8月   6 14:10 tmp
drwxr-xr-x.  15 root root  182 3月  25 2020 usr
drwxr-xr-x.  19 root root  267 3月  21 2020 var

/bin:基本系统程序
/boot:启动相关文件
/dev:设备相关文件
/etc:配置文件
/home:所有用户的个人主目录,里面会有:

        -----/user1
        -----/user2
/lib:库文件
/mnt:临时挂装其他文件系统
/proc:虚拟文件系统,其文件存放在内存非磁盘
/root:超级用户主目录
/sbin:系统管理员所使用的可执行文件
/tmp:程序允许时的临时信息
/usr:软件包程序、系统源代码等
/var:大小经常变化的文件,如日志文件等
/lost+found:系统发生故障时,存放找不到正确储存位置的文件

前缀:

        此处已配置好然后使用了 xshell 进行连接,可见如下前缀

[root@hadoop-master ~]#
  • root:用户名
  • hadoop-master:计算机名称
  • ~:当前工作目录的最后一个目录

        常用的目录:

  • /是根目录
  • ~是超级管理员root用户的目录
  • ./当前目录
  • ../是上级目录

二、Linux基本命令

文件相关

        对多个文件进行操作可以用空格隔开

1.pwd:

        查看当前目录(print work directory

[root@hadoop-master home]# pwd
/home

2.ls [option] [file]:

        查看指定目录下的对应内容(目录或文件)

参数:

  • -a:包括隐藏的文件
  • -l:列出详细信息
[root@hadoop-master home]# ls -al
总用量 36
drwxr-xr-x.  6 root root    95 12月 12 2022 .
dr-xr-xr-x. 19 root root   253 10月 30 2022 ..
drwx------.  2 hue  hue     62 3月  30 2020 hue
drwxr-xr-x.  4 root root    95 7月   1 2021 java
-rw-------.  1 root root 13738 4月   8 2020 nohup.out
-rw-r--r--.  1 root root 18487 3月  30 2020 QueryResult.java
drwxr-xr-x.  2 root root   110 12月 12 2022 steven
drwx------.  2 zxd  zxd     62 12月 12 2022 zxd

3.cd [xxx]:

改变当前目录到xxx

其中xxx可以是绝对或相对路径
绝对路径:路径全称
相对路径:可以结合以下符号使用

  • cd ~:自己的home directory或根目录
  • .:目前所在目录
  • cd ..:当前目录的上一级目录
  • cd/:返回系统根目录

4.mkdir [option] directory:

        创建新的目录directory,默认在当前目录创建

参数:

  • -p :创建多级目录
[root@hadoop-master home]#mkdir -p dir1/dir2/dir3

5.rmdir [option] directory:

        删除目录,多个目录可使用空格隔开

参数:

  • -p:删除目录及其祖先目录,若有非空目录(有其他目录或者文件)则保留

rm

        remove,删除当前文件夹下的文件/目录(删除文件夹需要加参数

假设一个目录下文件夹:

[root@hadoop-master dir3]# ls
2  myfile  myfile2

在/home删除:

[root@hadoop-master home]# ls
hue  java  nohup.out  QueryResult.java  steven  zxd
[root@hadoop-master home]# rm zxd
rm: 无法删除"zxd": 是一个目录
[root@hadoop-master home]# rm -r zxd
rm:是否进入目录"zxd"? y
rm:是否删除普通文件 "zxd/.bash_logout"?y
rm:是否删除普通文件 "zxd/.bash_profile"?
rm:是否删除普通文件 "zxd/.bashrc"?y
rm:是否进入目录"zxd/dir1"? y
rm:是否进入目录"zxd/dir1/dir2"? y
rm:是否进入目录"zxd/dir1/dir2/dir3"? y
rm:是否删除目录 "zxd/dir1/dir2/dir3/myfile"?y
rm:是否删除目录 "zxd/dir1/dir2/dir3/2"?y
rm:是否删除目录 "zxd/dir1/dir2/dir3/myfile2"?y
rm:是否删除目录 "zxd/dir1/dir2/dir3"?y
rm:是否删除目录 "zxd/dir1/dir2"?y
rm:是否删除目录 "zxd/dir1"?y
rm:是否删除目录 "zxd"?y
rm: 无法删除"zxd": 目录非空

参数:

  • -r递归删除目录下的全部文件和目录(删除时会逐一询问y or n)
  • -f强制直接删除,无需逐一确认

6.touch file:

        创建新文件,如:touch /tmp/zxd.c

若 touch 了一个已经存在的文件或目录,会修改文件或目录属性中的更新时间。

7.cp:

        复制文件或文件夹

示例: cp  file1  file1.bk    file1文件复制一份,命名为file1.bak

参数:

  • -r:复制非空目录需要带该参数,递归复制

示例: cp  -r   dir1  dir2   复制dir1目录为dir2目录

如下:里面的文件和文件夹会一起被复制

[root@hadoop-master /]# ls
mydir
[root@hadoop-master /]# cp -r mydir mydir2
[root@hadoop-master /]# ls
mydir  mydir2

注意:

①示例dir2目录已存在时,dir1复制为dir2/dir1

cp通常在修改文件时做备份使用。

③cp到目标目录不写文件名,默认为原文件名。

④可复制多个文件到另一个目录。

8.mv:

        move,可用于移动或重命名

示例:

mv  file1  dir1    file1移动到当前dir1目录下

mv  file1  file2    file1文件更名为file2

mv   dir1  dir2   更名dir1目录为dir2目录,dir2目录若已存在,dir1移动到dir2目录下

注:

①mv和cp的不同,cp是复制,mv是剪切。

②mv操作目录时不需要参数-r

9.tar

原意 Tape Archive :磁带归档

示例:

  • tar  -cvf    zigoo.tar    a   b  c   A   B  CabcABC文件或目录打包到zigoo.tar文件中
  • tar  -xvf    zigoo.tar  解开zigoo.tar

常用参数:

  • -c:create创建包文件
  • -x:extract提出包文件
  • -v:verbose(啰嗦)详细显示处理过程
  • -f:file指定文件
  • -z:gzip压缩

注意事项: 记住常用打包 -cvf 和解压参数 -xvf 

文件a如下,b、c对应:

a1

a2

a3

[root@hadoop-master zxd]# tar -cvf zxd2 a b c
a
b
c
[root@hadoop-master zxd]# ls
a  b  c  zxd2
[root@hadoop-master zxd]# vi zxd2

        打包后进入编辑变成了以下界面,好像包括了文件本身的信息也会被一起打包(求解释?):

10.gzip/gunzip

原意:

GNU ,GNU是个组织,开发了很多UNIX工具,zip:压缩文件的一种格式,上述文件打包后可以对包进行压缩,或解压缩

示例:

  • gzip   zigoo.tar   zigoo.tar包进行压缩
  • gunzip  zigoo.tar.gz  zigoo.tar.gz进行解压

参数:

  • -k  保留原文件,不常用
  • 数字  1-9的数字,数字越大压缩比越大,速度也越慢,默认数字-6,不常用

参数示例:

  • gzip  -k  zigoo.tar  压缩zigoo.tar时保留原文件
  • gzip  -9  zigoo.tar  --best的级别压缩zigoo.tar文件

注意事项:

①使用root切换到其他用户时不需要输入密码。

su后未加用户名,则默认切换到root用户。

搜索查找类

 1.find [范围] [选项]

        查找指定目录下递归遍历所有子目录,不指定范围默认当前目录开始,

参数:

  • -name:指定字符串名,不指定的话会默认进行模糊搜索
  • -i   不区分大小写,放在参数name
  • 其他还可以-user、-size,按照用户和文件大小查找

示例:

find  ./   -name   “zigoo”:当前目录下开始查找名为zigoo的文件或目录

find   /   -iname   ‘zigoo’:全盘搜索不区分大小写名为zigoo的文件或目录

[root@hadoop-master /]# find / -name sqoop_passwd
/mydir/sqoop_passwd
/mydir2/sqoop_passwd
[root@hadoop-master ~]# find /home/hue
/home/hue
/home/hue/.bash_logout
/home/hue/.bash_profile
/home/hue/.bashrc

注:

        查找的字符串用双引号“”或单引号’’引起来,避免出错。此外,locate 命令也可用来查看对应文件的位置,主要是效率和实现方式有所区别。

2.locate

        利用系统中事先建好的文件名和路径的locate数据库实现定位文件,查询时要先使用updatedb更新一下对应关系

3.grep过滤查找及"|"管道符

语法:

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

参数:

  • -n:显示匹配行及行号
  • -i:不区分大小写

        即在对应文件里面查找对应的内容,会把一行显示出来:

        管道符"|",表示将前一个命令的处理结果输出传递给后面的命令处理
例:

        该文件夹下有这样一些文件

        将ls -l的结果通过"|"传递给后面,查找带有.java后缀的文件

用户相关:

        Linux作为多任务多用户分时操作系统,可能很多人同时使用机器的情况,因此需要对用户进行账号密码权限及系统资源方面的管理,其中,超级管理员的目录是/root,其他的用户在/home下面有带着自己名字的主目录

0.查看

        我在主目录下查看某用户存不存在:

[root@hadoop-master ~]# id zxd
uid=1001(zxd) gid=1001(zxd) 组=1001(zxd)

        我想看目前创建了那些用户,可以访问以下文件:

[root@hadoop-master ~]# cat /etc/passwd

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
mysql:x:997:995:MySQL server:/var/lib/mysql:/bin/bash
saslauth:x:996:76:Saslauthd user:/run/saslauthd:/sbin/nologin
hue:x:1000:1000::/home/hue:/bin/bash
zxd:x:1001:1001::/home/zxd:/bin/bash

1.adduser、useradd

        增加新用户,如:

[root@hadoop-master ~]# adduser zxd -g users -d /home/zxd

参数:

  • -g:指定用户组。普通用户通常加入users组中。如果不指定,默认会增加到一个和用户名同名的用户组。
  • -d:指定用户的主目录。通常目录名和用户名相同,方便识别

补充:

①需要使用系统管理员root来增加。

②增加的用户同时会给此用户在/home下创建一个同名主目录。

③增加的用户可在/etc/passwd中查看。用户ID500以上。

[root@hadoop-master home]# ls
hue  java  nohup.out  QueryResult.java  steven  zxd

区别:

参考文章

【信创】adduser与useradd的区别 _ 统信 _ 麒麟 _ 中科方德_麒麟系统 useradd-CSDN博客

2.userdel

        用户删除

示例: userdel  xd  :删除掉用户xd

参数:

  • -r:删除用户同时删除相关的文件和文件内容,如主目录和邮箱文件,/etc/passwd/etc/group文件中的内容。

参数示例: userdel  -r  zigoo

注意事项:①需要使用系统管理员root删除用户。

3.passwd

        设置密码

[root@hadoop-master home]# passwd zxd
更改用户 zxd 的密码 。
新的 密码:

①需要使用系统管理员root来给新用户设置密码。

passwd+用户名,若后面不增加用户名,表示给自己修改密码。

③root用户修改任何用户密码不需要确认原始密码,其他用户修改密码则先要确认原始密码。

4.groupadd

        创建用户组

5.su

        原意 Switch User:转变用户

示例: su  zxd 切换到登录用户 zxd

常用参数:只带参数符号,不带字母,表示切换环境变量,切换到整个用户的环境。

参数示例: su  -  zigoo

注意事项:

①使用root切换到其他用户时不需要输入密码。

②su后未加用户名,则默认切换到root用户。

[root@hadoop-master home]# su - zxd
上一次登录:一 9月 23 14:08:39 CST 2024pts/0 上

-bash-4.2$ pwd

/home/zxd

        Linux中用户切换是层层嵌套的,可以使用exit退出 

[root@hadoop-master zxd]# su zxd
bash-4.2$ whoami
zxd
bash-4.2$ who am i
root     pts/0        2024-10-17 08:45 (192.168.88.1)

6.sudo

        待补充

bash-4.2$ cd /root
bash: cd: /root: 权限不够

系统、网络、进程等其他:

关于rpm:

        原本为 RedHat Package Manager 即 RedHat 软件包管理工具,可以对软件进行操作

示例: rpm  -i   zigoo.rpm :安装名为 zigoo.rpm 的安装文件

常用参数:

  • -i  安装(或--install
  • -e  清除(或--erase
  • -a  查询所有套件
  • -q  query询问模式,查询已安装的

参数示例:rpm  -qa  |  grep  php  查询所有php安装的程序

          rpm  -e  jdk   删除掉所有jdkrpm安装的程序

注意事项: ①使用root切换到其他用户时不需要输入密码。②su后未加用户名,则默认切换到root用户。

ps:

原意为 Process Status :进程状态查看各服务器下的进程

示例: ps  -ef 查看所有进程

常用参数:-e  与 -A相同,显示所有进程-f  显示UID、PPID等信息

常用组合参数: -ef   或  -aux

参数示例:ps  -ef | grep  wechat  搜索包含wechat的进程,竖杠“|”管道符表示上个命令的输出,做为下个命令的输入。

[root@hadoop-master /]# ps -ef
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 12:42 ?        00:00:02 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root          2      0  0 12:42 ?        00:00:00 [kthreadd]
root          4      2  0 12:42 ?        00:00:00 [kworker/0:0H]
root          5      2  0 12:42 ?        00:00:00 [kworker/u256:0]
root          6      2  0 12:42 ?        00:00:00 [ksoftirqd/0]
root          7      2  0 12:42 ?        00:00:00 [migration/0]
root          8      2  0 12:42 ?        00:00:00 [rcu_bh]
root          9      2  0 12:42 ?        00:00:00 [rcu_sched]
root         10      2  0 12:42 ?        00:00:00 [lru-add-drain]

kill:

        上面的ps可以看到系统有哪些进程,使用 kill 可以终止进程

参数:

  • -9:强制终止指定进程

ln [-s]:硬链接与软链接

sed与awk
 

clear:

        清屏,将上面的命令和结果全部清除

man:

        类似帮助,查看帮助或者命令的用法,如man pwd:查看pwd的用法

df/du:

        查看磁盘情况,原意为 Disk Free :空余硬盘、Disk Usage:磁盘使用

示例:

  • df :显示磁盘分区上使用情况
  • du :显示本目录下所有文件的大小

常用参数:

  • -h  :最优查看,方便阅读
  • du -s  :summarize:仅显示总计(只有du能用)
  • du -sh:最优显示当前目录使用总计
[root@hadoop-master home]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 1.4G     0  1.4G    0% /dev
tmpfs                    1.4G     0  1.4G    0% /dev/shm
tmpfs                    1.4G  9.5M  1.4G    1% /run
tmpfs                    1.4G     0  1.4G    0% /sys/fs/cgroup
/dev/mapper/centos-root   17G  4.6G   13G   27% /
/dev/sda1               1014M  150M  865M   15% /boot
tmpfs                    283M     0  283M    0% /run/user/0
[root@hadoop-master home]# du -sh
448M
[root@hadoop-master home]# du -h
12K	./java/jdk1.7.0_79/jre/plugin/desktop
12K	./java/jdk1.7.0_79/jre/plugin
544K	./java/jdk1.7.0_79/jre/lib/oblique-fonts
40K	./java/jdk1.7.0_79/jre/lib/jfr
420K	./java/jdk1.7.0_79/jre/lib/amd64/xawt
40K	./java/jdk1.7.0_79/jre/lib/amd64/headless
104K	./java/jdk1.7.0_79/jre/lib/amd64/jli
15M	./java/jdk1.7.0_79/jre/lib/amd64/server
...

top:

        动态查看系统资源

原意: Linux下性能分析工具,查看系统运行情况,如有什么进程、CPU情况、归属用户等等

常用参数:

注意事项:

①默认刷新间隔5s

②进入互动式界面后,可以使用交互命令,如u=user,查看指定用户使用资源情况。

③退出按 键或按强制退出ctrl+c组合键。

[root@hadoop-master home]# top
top - 15:36:29 up  2:53,  2 users,  load average: 0.00, 0.01, 0.05
Tasks: 111 total,   2 running, 109 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.3 sy,  0.0 ni, 99.0 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st
KiB Mem :  2895268 total,  2326820 free,   243764 used,   324684 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  2451060 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                                                                                                     
   755 root      20   0  305396   6540   5148 S  1.0  0.2   0:38.21 vmtoolsd                                                                                                                                    
  3115 root      20   0  162016   2228   1548 R  0.7  0.1   0:00.51 top                                                                                                                                         
   327 root      20   0       0      0      0 S  0.3  0.0   0:00.27 kworker/u256:3                                                                                                                              
  1448 mysql     20   0  481764  50936   3740 S  0.3  1.8   0:19.75 mysqld                                                                                                                                      
  3095 root      20   0       0      0      0 S  0.3  0.0   0:00.25 kworker/0:1                                                                                                                                 
     1 root      20   0  127968   6540   4104 S  0.0  0.2   0:03.04 systemd                                                                                                                                     
     2 root      20   0       0      0      0 S  0.0  0.0   0:00.01 kthreadd                                                                                                                                    
     4 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H                                                                                                                                
     5 root      20   0       0      0      0 S  0.0  0.0   0:00.95 kworker/u256:0                                                                                                                              
     6 root      20   0       0      0      0 S  0.0  0.0   0:00.78 ksoftirqd/0                                                                                                                                 
     7 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0                                                                                                                                 
     8 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_bh                                                                                                                                      
     9 root      20   0       0      0      0 R  0.0  0.0   0:01.39 rcu_sched                                                                                                                                   
    10 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 lru-add-drain                                                                                                                               
    11 root      rt   0       0      0      0 S  0.0  0.0   0:00.30 watchdog/0                                                                                                                                  
    13 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kdevtmpfs                                                                                                                                   
    14 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 netns                                                                                                                                       
    15 root      20   0       0      0      0 S  0.0  0.0   0:00.06 khungtaskd                                                                                                                                  
    16 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 writeback                                                                                                                                   
    17 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kintegrityd                                                                                                                                 
    18 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset                                                                                                                                      
    19 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset                                                                                                                                      
    20 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset                                                                                                                                      
    21 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kblockd                                                                                                                                     
    22 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 md                                                                                                                                          
    23 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 edac-poller                                                                                                                                 
    24 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 watchdogd                                                                                                                                   
    30 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kswapd0                                                                                                                                     
    31 root      25   5       0      0      0 S  0.0  0.0   0:00.00 ksmd                                                                                                                                        
    32 root      39  19       0      0      0 S  0.0  0.0   0:00.34 khugepaged                                                                                                                                  
    33 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 crypto                                                                                                                                      
    41 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kthrotld                                                                                                                                    
    43 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kmpath_rdacd 

netstat:打印各种网络相关信息

ifconfig:查看和临时配置网络参数

hostname:查看出本机的机器名
uname:查看操作系统信息,加 -r 参数可以显示发行编号

[root@hadoop-master home]# hostname
hadoop-master

[root@hadoop-master home]# uname
Linux

注:

①修改主机名可同时修改/etc/hosts/etc/sysconfig/network中的主机名称。 

猜你喜欢

转载自blog.csdn.net/m0_73716246/article/details/140953373