Skip to content

搭建开发环境所需命令及问题解决

1872字约6分钟

linuxjava

2024-10-24

使用scp命令通过ssh传输文件

在linux下一般用scp这个命令来通过ssh传输文件。

1、从服务器上下载文件

scp 用户名@服务器ip/域名:/path/filename /var/www/local_dir(本地目录) 例如:

scp [email protected]:/var/www/test.txt
#把192.168.0.101上的/var/www/test.txt 的文件下载到/var/www/local_dir(本地目录)

2、上传本地文件到服务器

scp /path/filename username@servername:/path
例如:

scp /var/www/test.php [email protected]:/var/www/
#把本机/var/www/目录下的test.php文件上传到192.168.0.101这台服务器上的/var/www/目录中

3、从服务器下载整个目录

scp -r username@servername:/var/www/remote_dir/(远程目录) /var/www/local_dir(本地目录) 例如:

scp -r [email protected]:/var/www/test /var/www/

4、上传目录到服务器

scp -r local_dir username@servername:remote_dir 例如:

scp -r test [email protected]:/var/www/ #把当前目录下的test目录上传到服务器的/var/www/ 目录

tar命令使用

tar -zcvf 压缩文件名 .tar.gz 被压缩文件名

tar -zxvf 解压文件名.tar.gz

tar -xvf 解压文件名.tar

xz(选项)(参数)
xz [OPTION]... [FILE]...

选项

-z, --compress    # 强制压缩
-d, --decompress, --uncompress
                  # force decompression
-t, --test        # 测试压缩文件的完整性
-l, --list        # 列出有关.xz文件的信息
-k, --keep        # 保留(不要删除)输入文件
-f, --force       # 强制覆盖输出文件和(解)压缩链接
-c, --stdout, --to-stdout
                  # 写入标准输出,不要删除输入文件
-0 ... -9         # 压缩预设; 默认为6; 取压缩机*和*
                  # 使用7-9之前解压缩内存使用量考虑在内!
-e, --extreme     # 尝试通过使用更多的CPU时间来提高压缩比;
                  # 要求不影响解压缩存储器
-T, --threads=NUM # 最多使用NUM个线程; 默认值为1;  set to 0
                  # 设置为0,使用与处理器内核一样多的线程
-q, --quiet       # 抑制警告; 指定两次以抑制错误
-v, --verbose     # 冗长; 指定两次更详细
-h, --help        # 显示这个简洁的帮助并退出
-H, --long-help   # 显示更多帮助(还列出了高级选项)
-V, --version     # 显示版本号并退出

压缩一个文件 test.txt,压缩成功后生成 test.txt.xz, 原文件会被删除。

$ xz test.txt
$ ls test.txt*

test.txt.xz

解压 test.txt.xz 文件,并使用参数 -k 保持原文件不被删除

$ xz -d -k test.txt.xz
$ ls test.txt*

test.txt.xz test.txt

tar -xvf mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz

linux移动、删除、复制命令的使用

linux下文件的复制、移动与删除命令为:cp,mv,rm

一、文件复制命令cp

参数说明: -a:是指archive的意思,也说是指复制所有的目录 -d:若源文件为连接文件(link file),则复制连接文件属性而非文件本身 -f:强制(force),若有重复或其它疑问时,不会询问用户,而强制复制 -i:若目标文件(destination)已存在,在覆盖时会先询问是否真的操作 -l:建立硬连接(hard link)的连接文件,而非复制文件本身 -p:与文件的属性一起复制,而非使用默认属性 -r:递归复制,用于目录的复制操作 -s:复制成符号连接文件(symbolic link),即“快捷方式”文件 -u:若目标文件比源文件旧,更新目标文件 如将/test1目录下的file1复制到/test3目录,并将文件名改为file2,可输入以下命令: cp /test1/file1 /test3/file2

二、文件移动命令mv

参数说明: -f:force,强制直接移动而不询问 -i:若目标文件(destination)已经存在,就会询问是否覆盖 -u:若目标文件已经存在,且源文件比较新,才会更新 如将/test1目录下的file1复制到/test3 目录,并将文件名改为file2,可输入以下命令: mv /test1/file1 /test3/file2

三、文件删除命令rm

参数说明: -f:强制删除 -i:交互模式,在删除前询问用户是否操作 -r:递归删除,常用在目录的删除 如删除/test目录下的file1文件,可以输入以下命令: rm -i /test/file1

配置环境变量时,使用命令source /etc/profile 后导致 ls、vi、等命令不可用

解决办法: 1:修改/etc/profile 这时发现命令 vi不可用 bash: command not found,这时用 /bin/vi /etc/profile 来修改环境变量 2:修改后发现配置文件未生效 ,用命令 export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin 命令重置 3:执行上面命令后你发现命令可以用了,但是配置的环境变量全部失效了,这时使用命令 source /ect/profile 可以时环境变量重新生效。

权限中各数字含义

1、三种权限

Linux 下的每个文件都有以下三种权限

r:表示读取,对应的数字为 4;

w:表示写入,对应的数字为 2;

x:表示执行,对应的数字为 1

通过 4、2、1 的组合,我们可以得到以下几种权限

0:没有权限,用 - 表示
4:读取权限,用 w 表示
5:读取和执行权限,用 rx 表示
6:读取和写入权限,用 rw 表示
7:读取、写入和执行权限,用 rwx 表示

在 Linux 系统里,我们可以输入 ll 命令,可以看到文件的权限。

image-20210825211100115

2、三个对象

在上面已经说明 7 表示读取、写入和执行权限。但是为啥是三位数字呢?比如 777。

其实,三位是指三个不同的对象,

  • User:文件所属者
  • Group:文件所属组
  • Other:其他人

3、修改权限

Linux 修改文件权限的命令为chmod 权限 文件名

例如:

chmod 777 Hello.java

用 rwxrwxrwx 表示,赋予Hello.java 文件所属者、文件所属组和其他人都有读取、写入和执行权限的全部权限,也是最高权限。

Linux 修改目录下的所有文件权限的命令为chmod -R 权限 目录名

例如:

chmod -R 777 ./JavaItem

用 rwxrx—x 表示,赋予 JavaItem 目录下所有文件的文件所属者全部权限,文件所属组的的读取和写入权限,而其他人只有读取权限。

4、常用文件权限

  • 444:用 r–r--r-- 表示,文件所属者、文件所属组和其他人只有读取权限
  • 600:用 rw------- 表示,文件所属者有读取和写入权限,文件所属组和其他人无权限
  • 644:用 rw-r–r-- 表示,文件所属者有读取和写入权限,文件所属组和其他人只有读取权限
  • 666:用 rw-rw-rw- 表示,文件所属者、文件所属组和其他人有读取和写入权限
  • 700:用 rwx------ 表示,文件所属者有全部权限,文件所属组和其他人无权限
  • 744:用 rwxr–r-- 表示,文件所属者有全部权限,文件所属组和其他人有读取权限
  • 755:用 rwxr-xr-x 表示,文件所属者有全部权限,文件所属组和其他人有读取和执行权限
  • 777:用 rwxrwxrwx 表示,文件所属者、文件所属组和其他人有全部权限

5、扩展

  • l:表示此文件为软链接,相当于 Windows 的快捷方式。在图中也可以发现此文件的具体目录,比如图片中的 bin 文件
  • d:表示文件为目录,比如图片中的 images 目录
  • -:表示文件为普通文件,比如图片中的 geshanzsq.txt 文件

image-20210825211226416