linux 命令行备忘录

文件权限:

x=1,执
w=2,写
r=4,读
属主-同组-其他
chmod 777 file/path/to/file_name

创建用户 a :

useradd a

修改用户 a 密码:

passwd a

创建分组 A :

groupadd A

将用户 a 添加到分组 A :

usermod -aG A a

查看用户 a 所属分组列表:

groups a

为 a 分配指定目录(如/sdx)下所有文件的权限:

sudo chown -R a /sdx
sudo find /sdx -type f -exec chmod 640 {} \;--找到所有'/sdx'下所有文件并更改权限配置为:'-rw-r--r--'

root 将 file.txt 属主变更为’用户:组’: a:A

chown a:A file.txt

软连接

将jdk软链到/usr/bin/java下(仍以 JAVA_HOME=/opt/soft/java 为例)
sudo ln -s /opt/soft/java/bin/java /usr/bin/java

日志信息-journalctl:

命令作用:journalctl 主要功能用于查看指定的日志信息
命令格式:journalctl [参数]
选项参数:......

查看进程:

ps -ef 

查看端口是否连/接通(远程)

telnet ip 端口

查看端口情况:

ss -lnt

实时查看日志

tail -f /var/log/apache2/access.log
tailf /var/log/apache2/access.log
tail -n2 -f /var/log/apache2/access.log
less + F /var/log/apache2/access.log

# 例:实时查看'XX.log'文件
tail -400f XX.log

用特定文件内容来定位文件

grep 'xxx' 文件名
grep -r 'xxx' 目录名

find filename path/to/filename

文件上传/下载

在Linux中,要从服务器下载文件到本地,可以使用scp命令。scp命令可以在本地和远程服务器之间复制文件。
以下是使用scp命令从服务器下载文件到本地的示例:

scp username@server:/path/to/file /path/to/destination

在上面的命令中,你需要将以下部分替换为实际的值:

  • username:你在服务器上的用户名。
  • server:服务器的IP地址或主机名。
  • /path/to/file:服务器上文件的完整路径。
  • /path/to/destination:本地计算机上保存文件的目标路径。

例如,如果要从服务器上的/home/user/document.txt文件下载到本地的/Users/yourname/Documents目录,你可以使用以下命令:

scp root@29.20.144.14:/home/user/document.txt /Users/yourname/Documents

执行命令后,系统会提示你输入服务器上的密码。输入密码后,文件将从服务器下载到本地指定的目标路径中。
mysql 执行sql脚本

use databasename;
source /path/to/sql.sql;

linux 磁盘相关

# 显示磁盘分区的使用情况(第二个比较好用)
df -h
lsblk

# 查看硬盘挂载情况
fdisk -l

# 查看当前分区情况
df -l

# 显示指定目录或文件的磁盘适用情况,以人类可读的格式显示
du -h
# 显示目录中的文件和子目录的详细信息,包括文件大小和权限等
ls -l

# 一个可视化的磁盘使用情况分析工具,可以方便地查看磁盘占用情况,进行清理操作
ncdu

# 例:给未挂载的新硬盘"/dev/vdb:"添加新分区
fdisk /dev/vdb

# 查看所有命令介绍
m
{
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l   list known partition types
m print this menu
n  add a new partition
o  create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
}
# 添加一个新的分区
n
{
p primary (0 primary,0 extended,4 free)
e extended
}
# 选择主分区(p)还是扩展分区(e),选择主分区
p

# 分成几个分区(1-4,difault 1)
1

# 保存
w

# 分区完成,查询所有设备的文件系统类型
blkid
{
/dev/sr0: UUID="2020-05-08-14-04-11-00" LABEL="config-2" TYPE="iso9660"
/dev/vda1: UUID="cd89ab11-0903-45ab-b5fb-b059052b012f" TYPE="xfs"
/dev/vda2: UUID="846e3b0a-eb84-494e-898c-67d89bd14b48" TYPE="xfs"
}
发现新分区并没有文件系统弄类型(type 为文件系统具体类型,有 ext3 , ext4 , xfs , iso9660 等,这里建议用xfs)

# 查看当前系统支持的格式化类型: mkfs + 两下tab键
mkfs
{
mkfs  mkfs.btrfs  mkfs.cramfs  mkfs.ext2  mkfs.ext3  mkfs.ext4  mkfs.mknix  mkfs.xfs
}
(可见有想要的 mkfs.xfs)

# 格式化
mkfs.xfs /dev/vdb1

#查看格式化后的所有文件系统类型
blkid
{
/dev/sr0: UUID="2020-05-08-14-04-11-00" LABEL="config-2" TYPE="iso9660"
/dev/vda1: UUID="cd89ab11-0903-45ab-b5fb-b059052b012f" TYPE="xfs"
/dev/vda2: UUID="846e3b0a-eb84-494e-898c-67d89bd14b48" TYPE="xfs"
/dev/vdb1: UUID="62fbb89d-b357-429e-8d5a-f744ef66c2c2" TYPE="xfs"
}
(出现:[/dev/vdb1: UUID="62fbb89d-b357-429e-8d5a-f744ef66c2c2" TYPE="xfs"]则说明成功将新分区格式化成了 xfs 文件系统类型)

# 确定需要挂载的挂载点(一个文件夹),若无可新建,因为 mount 并不会创建文件夹
mkdir /mnt/storage

# 将新分区 /dev/vdb1 挂载到 /mnt/storage 挂载点下
mount /dev/vdb1 /mnt/storage

# 查看是否挂载成功
mount
(出现[/dev/vdb1 on /mnt/storage type xfs (rw,relatime,attr2,inode64,noquota)]这段[]之中的代码则说明挂载成功)

# 设置自动挂载(将挂载信息写入 /etc/fstab 中,防止下次开机启动仍需要重新挂载,系统开机时会主动读取 /etc/fstab 文件中内容并根据配置挂载磁盘).此时需要通过 blkid 查询出分区的 UUID 并复制(往 /etc/fatab 中追加挂载信息时建议使用 UUID)
blkid
{
/dev/vdb1: UUID="62fbb89d-b357-429e-8d5a-f744ef66c2c2" TYPE="xfs"
}
# 将查到的 UUID 写入 /etc/fstab 文件中(也可以用 echo 命令)
vim /etc/fstab

# 方式一:在其中添加一行(挂载信息)
UUID=62fbb89d-b357-429e-8d5a-f744ef66c2c2 /mnt/storage xfs defaults 0 0

# 方式二:在其中添加一行(挂载信息)
/dev/vdb1 /mnt/storage xfs defaults 0 0

(然后保存修改)

# 重启系统
reboot

# 重启之后查看磁盘信息
mount
(其中若有 vdb1 的挂载信息,则证明自动挂载成功)

磁盘分布参考:

linux挂载硬盘步骤(简单易用,直接上手,无废话)
Linux服务器磁盘挂载

其他

1.Q:

Linux关于权限的限制:假设有root用户和test用户,test用户仅有目录:"/home/test/"路径之下所有文件的操作权限,而没有"test/"文件夹之外的文件夹的所有权限,除此(test/)之外的所有文件属主都是root,问当以 “sh ***.sh"的形式(脚本中为加载各种文件的代码)往”/home/test/"路径之下加载文件时能否成功?若不成功,失败原因是什么?

A:

为了安全考虑,Linux中对权限的管理极其严格,对文件或文件夹的权限管理,从角色维度是分为:属主、属组、组外(其他)三种身份;从操作维度则分为:执行(简称"执",记为 x ,数字记为 1)、读(读取,记为 r ,数字记为 2)、写(写,记为 w ,数字记为 4) 三种权限.根据前置条件可知用户 test 对 “test/” 之外的文件夹(即路径)是没有任何权限的,这其中就包括了 “/home” ,故而会失败,因为在进行定位的时候会被卡在 “/home” 路径,从而便进入不了 “/home” 之下的 “test/” 路径,因此才会失败。想解决此问题,需要用户 test 拥有一个从根目录 “/” 出发就有权限的路径(或者文件夹),如此才不会被拒绝访问(简单理解就是在根目录下需要有一个属于用户 test 的文件夹),在保证了文件夹及文件的属主为 test 用户之后,还需要保证所有相关文件夹的权限配置能满足 shell 脚本(***.sh文件)的需求(例如:shell脚本中有写入文件到某个文件夹下,则此时 test 用户需要有对这个文件夹拥有写的权限,此权限可以更改文件夹的权限管理来实现)
提示:
更改文件夹 /home/test 及其之下的所有文件权限配置为:属主有执行、读取、写入 的权限,属组有执行和读取,组外没有任何权限.
命令:

chmod -R 750 /home/test/
  • 8
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值