Linux基础命令整理

Linux文件目录

在这里插入图片描述

Linux导航工具

1、ls查看当前目录下内容
[root@iZ2ze6xkq7xjxmfnsdw27yZ /]# ls

添加-l参数,可以查看文件的权限、所有者、组文件大小以及时间戳

[root@iZ2ze6xkq7xjxmfnsdw27yZ /]# ls -l /var
total 68
drwxr-xr-x.  2 root root 4096 Apr 11  2018 adm
drwxr-xr-x.  5 root root 4096 Oct  8 17:14 cache
drwxr-xr-x.  2 root root 4096 Aug  8 19:41 crash
drwxr-xr-x.  4 root root 4096 Oct  8 17:20 db
...

添加-lh参数以用户可读的格式,来显示文件大小

[root@iZ2ze6xkq7xjxmfnsdw27yZ /]# ls -lh /var
total 68K
drwxr-xr-x.  2 root root 4.0K Apr 11  2018 adm
drwxr-xr-x.  5 root root 4.0K Oct  8 17:14 cache
drwxr-xr-x.  2 root root 4.0K Aug  8 19:41 crash
drwxr-xr-x.  4 root root 4.0K Oct  8 17:20 db
drwxr-xr-x.  3 root root 4.0K Oct  8 17:14 empty
pwd显示工作目录
[root@iZ2ze6xkq7xjxmfnsdw27yZ /]# pwd
cd 改变工作目录
[root@iZ2ze6xkq7xjxmfnsdw27yZ /]# cd /home
cat 将文件内容打印到输出
[root@iZ2ze6xkq7xjxmfnsdw27yZ home]# cat /etc/fstab
less显示文件内容
[root@iZ2ze6xkq7xjxmfnsdw27yZ home]# less /etc/fstab

q键退出

Linux文件管理工具

1、touch创建文件
[root@iZ2ze6xkq7xjxmfnsdw27yZ home]# touch mylife
2、vivim编辑文件
[root@iZ2ze6xkq7xjxmfnsdw27yZ home]# vi mylife

按下i键进入插入模式
按下Esc键,再输入:w,及保存文件内容,:q退出

3、stat查看文件i结点(inode)的ID
[root@iZ2ze6xkq7xjxmfnsdw27yZ home]# stat mylife
  File: ‘mylife’
  Size: 46              Blocks: 8          IO Block: 4096   regular file
Device: fd01h/64769d    Inode: 925161      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-12-20 15:05:47.404889311 +0800
Modify: 2019-12-20 15:05:45.940848803 +0800
Change: 2019-12-20 15:05:45.942848859 +0800
 Birth: -
4、mkdir 创建文件夹
[root@iZ2ze6xkq7xjxmfnsdw27yZ home]# mkdir myplace
5、rmdir删除空文件夹
[root@iZ2ze6xkq7xjxmfnsdw27yZ home]# rmdir myplace
rmdir: failed to remove ‘myplace’: Directory not empty
6、rm删除文件,循环删除文件夹内容

添加-r,递归删除文件夹所有内容

[root@iZ2ze6xkq7xjxmfnsdw27yZ home]# rm -r myplace
rm: descend into directory ‘myplace’? y
rm: remove regular empty file ‘myplace/mylife’? y
rm: remove directory ‘myplace’? y
7、cp拷贝文件
[root@iZ2ze6xkq7xjxmfnsdw27yZ home]# cp file1 mypalce
8、mv 移动文件
[root@iZ2ze6xkq7xjxmfnsdw27yZ mypalce]# mv file1 ..
9、 文件名通配符

* 匹配所有私服

? 匹配一个字符

10、sudo获取文件操作权限
[root@iZ2ze6xkq7xjxmfnsdw27yZ mypalce]# sudo cat /etc/shadow

文件内搜索

替代ctrl-f的文件搜索

按下/键可以切换到屏幕底部的文字输入区,在这里输入要搜索的内容。

journalctl访问所有的系统日志
[root@iZ2ze6xkq7xjxmfnsdw27yZ ~]# journalctl
-- Logs begin at Tue 2019-10-08 17:26:19 CST, end at Mon 2019-12-23 15:30:01 CST. --
Oct 08 17:26:19 iZuf6h1kfgutxc3el68z2lZ systemd[1]: rsyslog.service: main process exited, code=killed, status=7/BUS
Oct 08 17:26:19 iZuf6h1kfgutxc3el68z2lZ systemd[1]: Unit rsyslog.service entered failed state.
Oct 08 17:26:19 iZuf6h1kfgutxc3el68z2lZ systemd[1]: rsyslog.service failed.
管道符号|

journalctl没有参数运行,将让你陷入大量的数据流中。可以使用|grep综合使用进行过滤;

[root@iZ2ze6xkq7xjxmfnsdw27yZ ~]# journalctl | grep rsyslogd
Oct 08 17:26:19 iZuf6h1kfgutxc3el68z2lZ rsyslogd[1480]:  [origin software="rsyslogd" swVersion="8.24.0-41.el7_7" x-pid="1480" x-info="http://www.rsyslog.com"] start
Oct 08 17:26:24 iZuf6h1kfgutxc3el68z2lZ rsyslogd[1480]:  [origin software="rsyslogd" swVersion="8.24.0-41.el7_7" x-pid="1480" x-info="http://www.rsyslog.com"] exiting on signal 15.
Dec 18 10:56:09 iZuf6h1kfgutxc3el68z2lZ rsyslogd[829]:  [origin software="rsyslogd" swVersion="8.24.0-41.el7_7" x-pid="829" x-info="http://www.rsyslog.com"] start
Dec 18 11:05:20 iZ2ze6xkq7xjxmfnsdw27yZ rsyslogd[829]:  [origin software="rsyslogd" swVersion="8.24.0-41.el7_7" x-pid="829" x-info="http://www.rsyslog.com"] exiting on signal 15.
Dec 18 11:05:41 iZ2ze6xkq7xjxmfnsdw27yZ rsyslogd[833]:  [origin software="rsyslogd" swVersion="8.24.0-41.el7_7" x-pid="833" x-info="http://www.rsyslog.com"] start
Dec 22 03:34:02 iZ2ze6xkq7xjxmfnsdw27yZ rsyslogd[833]:  [origin software="rsyslogd" swVersion="8.24.0-41.el7_7" x-pid="833" x-info="http://www.rsyslog.com"] rsyslogd was HUPed

管道符号|将一个命令(jourlnalctl)的输出作为下一个命令(grep)的输入

grep过滤

-v参数:表示查找相反的结果

df命令显示当前挂载在Linux系统上的每个分区

-h 以可读的方式显示分区大小

[root@iZ2ze6xkq7xjxmfnsdw27yZ ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        909M     0  909M   0% /dev
tmpfs           919M     0  919M   0% /dev/shm
tmpfs           919M  416K  919M   1% /run
tmpfs           919M     0  919M   0% /sys/fs/cgroup
/dev/vda1        40G  1.9G   36G   6% /
tmpfs           184M     0  184M   0% /run/user/0

Linux进程管理

ps命令查看运行的进程
[root@iZ2ze6xkq7xjxmfnsdw27yZ ~]# ps
  PID TTY          TIME CMD
28593 pts/0    00:00:00 bash
28609 pts/0    00:00:00 ps

参数-e表示全部进行,-f表示全格式的。

file 提供文件的内部信息

以/sbin/init为参数运行file程序,你讲看到init并不是一个真的程序,而是systemd程序的一个符号链接

[root@iZ2ze6xkq7xjxmfnsdw27yZ ~]# file /sbin/init
/sbin/init: symbolic link to `../lib/systemd/systemd'

文件压缩

tar命令归档文件

-c告诉tar命令创建一个新的归档文件
-v会列出添加到压缩文件中的所欲文件名字
-f 指向为压缩文件设定的名字
打包文件使用.还会包括隐藏文件

[root@iZ2ze6xkq7xjxmfnsdw27yZ home]# tar cvf archivename.tar *
file1
file2
mylife
mypalce/
myplace
[root@iZ2ze6xkq7xjxmfnsdw27yZ home]# ls
archivename.tar  file1  file2  mylife  mypalce  myplace

如果你想归档的的文件所在目录中文件比较杂,可以通过*.后缀的方式进行筛选;

[root@iZ2ze6xkq7xjxmfnsdw27yZ home]# tar cvf archivename.tar *.mp4
gzip压缩文件

归档时文件时,文件非常庞大这时候就需要压缩的小一些;
1、可以在归档时使用z参数,通知gzip程序进行压缩归档文件

[root@iZ2ze6xkq7xjxmfnsdw27yZ home]# tar czvf archiename.tar.gz *
archivename.tar
file1
file2
mylife
mypalce/
myplace
[root@iZ2ze6xkq7xjxmfnsdw27yZ home]# ls
archiename.tar.gz  archivename.tar  file1  file2  mylife  mypalce  myplace

2、压缩指定文件

[root@iZ2ze6xkq7xjxmfnsdw27yZ home]# gzip file1
[root@iZ2ze6xkq7xjxmfnsdw27yZ home]# ls
archiename.tar.gz  archivename.tar  file1.gz  file2  mylife  mypalce  myplace
split命令用于将一个文件分割成数个。
  • -<行数> : 指定每多少行切成一个小文件
  • -b<字节> : 指定每多少字节切成一个小文件
  • –help : 在线帮助
  • –version : 显示版本信息
  • -C<字节> : 与参数"-b"相似,但是在切 割时将尽量维持每行的完整性
  • [输出文件名] : 设置切割后文件的前置文件名, split会自动在前置文件名后再加上编号

案例:将archiename.tar.gz文件分割成以10k大小的arzhiename.tar.gz.parta文件,可以跟多个文件名,超出原文件分配大小会报错。

[root@iZ2ze6xkq7xjxmfnsdw27yZ home]# split -b 10k archiename.tar.gz  arzhiename.tar.gz.parta
cat 连接文件

将拆分后的文件,进行重建归档,
案例:使用cat archiename.tar.gz.part*,随后,将输出重定向到一个名为archivename.gat.gz的新文件

[root@iZ2ze6xkq7xjxmfnsdw27yZ home]# cat archiename.tar.gz.part*  >  archivename.gat.gz
流式传输文件系统的归档文件

使用tar将文件归档,使用ssh将归档文件出书到远程服务器。

# tar czvf - importantstuff/ | ssh username@10.0.3.141 \ "cat > /home/username/myfiles.tar.gz"

解读: 没有在命令参数后输入归档文件的名字(这是目前为止所采用的方式),而是使用一个连接号(czvf-)。该连接号表示将数据输出到标准的输出设备。这允许将归档文件文件名的详细信息推后至该命令末尾,并告诉tar命令等待归档文件的源内容。之后,我采用管道(|)机制将这个未命名的、压缩归档文件传输至远程服务器的一个ssh登录,该服务器要求输入我的密码。接下来,双引号中的命令在该归档文件数据流上执行cat命令,该命令会将数据流的内容写入远程主机上我的home目录中的myfiles.tar.gz文件文件中。

find指定目录下查找文件
[root@iZ2ze6xkq7xjxmfnsdw27yZ ~]# find /var/www/html/ -iname  "*.mp4" -exec \ tar -rvf videos.tar {} \
  • -iname标志返回大写和小写的结果
  • -name 表示查找区分大小写的结果
  • { } 字段告诉find命令,对每个查找文件执行tar命令
chmod 修改文件读写权限
# chmod o-r /bin/zcat
# chmod g+w /bin/zcat

解读:该示例取消了其他用户(o)读文件的权限,并为组用户(g)增加了写操作的权限。文件所有者将会被表示为u(即user)

chown 修改文件的所有者
# chown runoob:runoobgroup file.text

解读: 该示例将文件file.text 的拥有者设为runoob,群里使用者为runoobgroup

创建tempdir目录, && 字符表示,仅当第一个命令执行成功时才会执行第二个命令。

[root@iZ2ze6xkq7xjxmfnsdw27yZ home]# mkdir tempdir && cd tempdir
[root@iZ2ze6xkq7xjxmfnsdw27yZ tempdir]# touch file1
[root@iZ2ze6xkq7xjxmfnsdw27yZ tempdir]# touch file2
[root@iZ2ze6xkq7xjxmfnsdw27yZ tempdir]# touch file3
[root@iZ2ze6xkq7xjxmfnsdw27yZ tempdir]# ls -l
total 0
-rw-r--r-- 1 root root 0 Dec 27 16:04 file1
-rw-r--r-- 1 root root 0 Dec 27 16:04 file2
-rw-r--r-- 1 root root 0 Dec 27 16:04 file3

useradd 命令用于建立用户帐号。chown更改file3的所有者权限。

[root@iZ2ze6xkq7xjxmfnsdw27yZ tempdir]# useradd newuser
[root@iZ2ze6xkq7xjxmfnsdw27yZ tempdir]# chown newuser:newuser file3
[root@iZ2ze6xkq7xjxmfnsdw27yZ tempdir]# ls -l
total 0
-rw-r--r-- 1 root    root    0 Dec 27 16:04 file1
-rw-r--r-- 1 root    root    0 Dec 27 16:04 file2
-rw-r--r-- 1 newuser newuser 0 Dec 27 16:04 file3
dd命令用于读取、转换并输出数据

dd可从标准输入或文件中读取数据,根据指定的格式类转换数据,再输出到文件、设备或标准输出。
命令语法: if=输入文件,同时,of=输出文件

#   dd if=/dev/sda of=/dev/sdb
# dd if=/dev/sda of=/home/username/sdadisk.img

bs 参数设置每次传输的字节大小

# dd if=/dev/sda2 of=/home/username/partition2.img bs=4096

使用dd擦除硬盘
示例: 该命令将花费一些时间在/dev/sda1分区的每一个角落和缝隙写入数百万个0,以防止当你的电脑被入侵时,防止坏人更难获取你的旧数据。

# dd if=/dev/zero of=/dev/sda1

还有更好的方法。将/dev/urandom文件作为源文件,你可以将随机字符写入整个硬盘:

# dd if=/dev/urandom of=/dev/sda1
rsync 命令远程(本地)同步文件

使用ssh命令在要存放文件副本的远程服务器上创建一个目录。

# ssh username@10.0.3.141 "mkdir syncdirectory"
# rsync -av * username@10.0.3.141:syncdirectory

冒号(:)后是指定的远程目标和目录。

添加用户

新增系统用户
#  adduser elasticsearch
创建用户密码,需要输入两次
#   passwd elasticsearch
将对应的文件夹权限赋给该用户
# chown -R elasticsearch elasticsearch-6.0.0
切换至elasticsearch用户
#   su elasticsearch
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值