外观
搭建开发环境所需命令及问题解决
使用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 命令,可以看到文件的权限。
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 文件