前端常用的 Linux 命令
cat
shell
# 查看文件的内容
cat demo.txt
# 查看文件的内容,由1开始对所有输出的行数编号,也就是给输出的文件加上行号
cat -n demo.txt
# 将demo1.txt文件的内容写入到demo2.txt中,不管demo2.txt这个文件是否存在,不存在会自动创建,注意:这是个完全覆盖的操作
cat demo1.txt > demo2.txt
# 将demo1.txt和demo2.txt文件追加到demo3文件中,注意:这个是一个追加的操作,不会被覆盖,一个箭头>是覆盖写入,两个箭头>表示追加写入
cat demo1.txt demo2.txt >> demo3.txt
# 清空demo.txt的内容,注意:/dev/null是固定的写法
cat /dev/null > demo.txt
ls
shell
#命令用于显示指定工作目录下之内容
ls
# 显示所有文件及目录 (. 开头的隐藏文件也会列出)
ls -a
# 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
ls -l
# 将文件以相反次序显示(原定依英文字母次序)
ls -r
# 将文件依建立时间之先后次序列出
ls -t
# 同 ls -a ,但不列出 "." (目前目录) 及 ".." (父目录)
ls -A
# 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
ls -F
# 若目录下有文件,则以下之文件亦皆依序列出
ls -R
mv
shell
# 将源文件名称改为目标文件名称
mv source_file(源文件) dest_file(目标文件)
# 将源文件移动到目标文件夹中
mv source_file(源文件) dest_directory(目标目录)
# 如果目标目录存在,则是将源目录移动到目标目录中;如果目标目录不存在,则是将源目录的名称改成目标目录的名称
mv source_directory(源目录) dest_directory(目标目录)
# 将源目录移动到目标文件,报错!!!
mv source_directory(源目录) dest_file(目标文件)
# 将源目录下的所有文件都移动到目标目录中
mv souce_directory/* dest_directory
tail
shell
# 查看文件的内容,默认展示最后的10条
tail demo.txt
# 读取文件的内容到控制台,并且只要文件内容有写入,就会将最新的内容展示到屏幕上,例如查看nginx的日志
tail -f demo.txt
gzip
shell
# gzip命令用来压缩文件,当文件被压缩之后,新的压缩文件会替换掉源文件,并且多一个.gz的后缀,如果存在文件夹会自动跳过
# 将当前目录下的所有文件进行gzip压缩
gzip *
# 将指定的文件进行gzip压缩,-9表示压缩的等级,范围为1-9,值越大压缩的效果越高,同时对服务器的性能损耗也越大
gzip 1.txt -9
# 将当前的所有.gz文件解压,并且列出详情信息
gzip -dv *
cp
shell
# 将source目录下的所有文件拷贝到dest目录,如果dest目录不存在会自动创建
cp -r source dest
scp
shell
# 将本地的Nginx文档拷贝到远程服务器下的/home/demo目录中
scp Nginx文档.md root@139.198.177.30:/home/demo
# 将指定文件夹下面的所有文件递归拷贝到/home/demo目录中,建议压缩成为文件了拷贝更快
scp -r main-docs root@139.198.177.30:/home/demo
ssh
shell
# 远程登录
ssh root@139.198.177.30
# 如果服务器将默认的22端口修改了的话,使用这个命令切换新的登录端口
ssh -p 9022 root@139.198.177.30
ps
shell
# 查看当前所有运行中的进程
ps -ef
# 过滤指定的进程
ps -ef | grep node
Linux 的权限
shell
[root@i-tvdukp1b home]# ls -al
总用量 52
drw-r--r-- 3 root root 4096 10月 29 20:53 answer
drwx------. 3 cloud-user cloud-user 4096 11月 20 2020 cloud-user
drwxr-xr-x 2 root root 4096 11月 7 17:25 gitlab
drwxr-xr-x 5 root root 4096 10月 30 17:54 gitlab_compose_store
drwxr-xr-x 3 root root 4096 10月 29 21:48 jenkins
drwxr-xr-x 3 root root 4096 11月 15 14:04 koa-demo
drwxr-xr-x 2 root root 4096 11月 28 17:54 logs
drwxr-xr-x 2 root root 4096 10月 25 17:27 mkdir
drwxr-xr-x 7 root root 4096 11月 20 12:40 my-docs
drwxr-xr-x 2 root root 4096 11月 1 14:25 nexus
drwxr-xr-x 18 root root 4096 10月 20 11:39 onpremise
drwxr-xr-x 7 root root 4096 11月 3 15:48 open-docs
在上面的查看文件列表中,类似 drwxr-xr-x 这样的就是文件或者文件夹权限的展示,一共有 10 位,d 表示的是目录,r 表示读权限,w 表示写权限,x 表示可执行的权限,如下所示,第一组 Owner 表示文件或者目录的所有者的权限,第二组 Group 表示当前用户所在用户组所拥有的权限,第三组 Other Users 表示其他用户所拥有的权限。
shell
# r(读)的权限的数字为4,w(写)的权限的数字为2,x(执行)的权限数字为1。所以7表示的赋权的用户有读写执行权限,最大的权限
# 因为文件的权限分为3种用户,分别为u(文件所有者)、g(文件的组用户)、o(其他用户),所以777表示u、g、o都是777的权限
# chmod 777 test.txt:表示将test.txt文件的读、写、执行权限赋权给所有的用户。
# chown -R user:group test.txt 可以修改指定文件的用户和组
# 用户的权限配置
# 给指定的文件分配可执行权限
chmod +x 文件名称
# 递归给指定文件下所有文件赋予权限
chmod 777 -R 文件目录
# 添加用户
useradd user1
# 切换用户,如果在非root用户的情况下,输入exit可以退出
su user1
# 新建用户组
groupadd group1
# 修改指定文件的用户和用户组
# chown修改用户、用户组的权限管理,修改文件、文件夹的所属用户、所属用户组
chown user1:group1 文件名/文件夹
chown <所属用户>:<所属用户组> <文件/文件夹>
# usermod -a add -G group
# 给指定的用户组添加指定的用户
usermod -a -G 用户组 用户
# 删除用户,需要root用户操作
userdel user1
# 修改用户密码,需要切换到指定的用户
passwd
# root用户给指定的用户修改密码,此时不需要知道初始密码
passwd user1
Linux 读取环境变量
读取环境变量的方法:
export
命令显示当前系统定义的所有环境变量echo $PATH
命令输出当前的PATH
环境变量的值
shell
[root@i-tvdukp1b ~]# export
declare -x DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/0/bus"
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="i-tvdukp1b"
declare -x LANG="zh_CN.UTF-8"
declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"
[root@i-tvdukp1b ~]# echo $DBUS_SESSION_BUS_ADDRESS
unix:path=/run/user/0/bus
# 设置环境变量
export demoValue=test123
# 使用环境变量
echo $demoPath