Linux常用命令,基本操作汇总

目录

1. cd

1.1 cd/ 切换到系统根目录

1.2 cd ~ 进入当前用户主目录

1.3 cd+具体路径 跳转到指定目录

1.4 cd - 返回进入此目录之前所在的目录

2. ls

2.1 ls 查看当前目录下的文件名

2.2 ls+目录名 查看指定目录下的文件名

2.3 ls / 查看根目录下的文件名

2.4 ls -a 查看当前目录包括隐藏文件的所有文件名

2.5 ls --help 查询用法

3. mkdir

3.1 mkdir 目录名 创建一个空目录文件

3.2 mkdir -m 权限值 已有目录绝对路径/目录名

3.3 mkdir –p 绝对路径/目录名

3.4 mkdir –v 目录名 当前位置创建空目录,完成后提示已创建目录

4. chmod

4.1 参数

4.1.1 增加文件所有用户组可执行权限

4.1.2 修改不同用户权限

4.1.3 删除文件权限

4.1.4 增加文件所有用户组读、写、可执行权限

5. chown

6. cp

6.1 cp -r 目录1 目录2

6.2 cp -i 目录1 目录2

6.3 cp -f 目录1 目录2

7. cat

7.1 cat filename

7.2 cat file1 file2 > file3

7.3 cat filename | grep keyword

7.4 cat file1 file2 | tar -czf archive.tar.gz -

7.5 cat filename > newfile

8. echo

8.1 echo "文本内容"

8.2 echo -e “\033[颜色m 字符串 \033[0m”

8.3 echo "文本内容" > filename 覆盖文件

8.4  echo "文本内容" >> filename 插入文件

9. reboot

9.1 reboot -d 重新开机时不把数据写入记录文件

9.2 reboot -f 强制重新开机,不调用shutdown指令的功能

9.3 reboot -i 重开机之前,先关闭所有网络界面

9.4 reboot -n 重开机之前不检查是否有未结束的程序

9.5 reboot -w 仅做测试,把重开机的数据写入/var/log目录下的wtmp记录文件

10. touch 创建空文件

11. pwd 打印当前工作目录或简单的目录用户

12. rm 删除文件

12.1 rm -i 删除文件前,系统先询问

12.2 rm -f 删除文件或目录,不询问确认,强制删除

12.3 rm -r 递归删除不同层级文件夹及包含的所有文件前,询问确认

12.4 rm -rf 递归删除不同层级文件夹及包含的所有文件前,不在询问确认

13. mv

13.1 mv filename newFilename 改文件名称

13.2 mv filename 指定目录 移动文件到指定路径下

14. vi

15. apt-get

16. ssh

SSH两种级别的远程登录

16.1 口令登录

16.2 公钥登录

16.2.1 在本机生成密钥对

16.2.2 将公钥复制到远程主机中

17. scp

17.1 scp【本地文件的路径】【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】

17.2 scp -r【本地文件的路径】【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】

17.3 scp -r /Users/mac_pc/Desktop/test [email protected]:/root

17.4 scp -r 【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】【本地文件的路径】


1. cd

1.1 cd/ 切换到系统根目录

1.2 cd ~ 进入当前用户主目录

1.3 cd+具体路径 跳转到指定目录

1.4 cd - 返回进入此目录之前所在的目录

 

2. ls

2.1 ls 查看当前目录下的文件名

2.2 ls+目录名 查看指定目录下的文件名

2.3 ls / 查看根目录下的文件名

2.4 ls -a 查看当前目录包括隐藏文件的所有文件名

2.5 ls --help 查询用法

3. mkdir

3.1 mkdir 目录名 创建一个空目录文件

3.2 mkdir -m 权限值 已有目录绝对路径/目录名

在一个已有目录中创建一个拥有相应权限值的空目录文件

 

3.3 mkdir –p 绝对路径/目录名

在绝对路径中去创建一个空目录文件,如果该绝对路径下目录存在则直接在这个已存在的目录中去创建一个为目录名的空目录文件,如果该绝对路径下目录不存在,则直接在该绝对路径下去创建这个目录然后在这个目录下直接创建目录名的空目录文件

3.4 mkdir –v 目录名 当前位置创建空目录,完成后提示已创建目录

4. chmod

用于改变Linux系统的访问权限,包含两种用法:

  • 包含字母和操作符表达式的文字设定法
  • 包含数字的数字设定法

文件或目录的访问权限可以分为:可读、可写、可执行

4.1 参数

  • <权限范围>+<权限设置> 使权限范围内的目录或者文件具有指定的权限
  • <权限范围>-<权限设置> 删除权限范围的目录或者文件的指定权限
  • <权限范围>=<权限设置> 设置权限范围内的目录或者文件的权限为指定的值

权限范围:

  • u :目录或者文件的当前的用户
  • g :目录或者文件的当前的群组
  • o :除了目录或者文件的当前用户或群组之外的用户或者群组
  • a :所有的用户及群组

权限代号:

  • r :读权限,用数字4表示
  • w :写权限,用数字2表示
  • x :执行权限,用数字1表示
  • - :删除权限,用数字0表示

4.1.1 增加文件所有用户组可执行权限

chmod a+x vod-util-start.sh

文件属主(u) 增加执行权限;与文件属主同组用户(g) 增加执行权限;其他用户(o) 增加执行权限。

4.1.2 修改不同用户权限

chmod ug+w,o-x vod-util-start.sh

设定文件text的属性为:文件属主(u) 增加写权限;与文件属主同组用户(g) 增加写权限;其他用户(o)删除执行权限。

4.1.3 删除文件权限

chmod a-x vod-util-start.sh

删除所有用户的可执行权限。

4.1.4 增加文件所有用户组读、写、可执行权限

chmod 777 vod-util-start.sh 

5. chown

change owner,该指令将指定文件的拥有者改为指定的用户或组,用户可是用户名或者用户ID,组可以是组名或者组ID

-c或--changes  效果类似"-v"参数,但仅显示更改的部分。 
-f或--quite或--silent  不显示错误信息。 
-h或--no-dereference  之对符号连接的文件作修改,而不更动其他任何相关文件。 
-R或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。 
-v或--version  显示指令执行过程。 
--dereference  效果和"-h"参数相同,作用于符号链接的指向,而不是链接文件本身。 
--reference=<参考文件或目录>  把指定文件或目录的拥有者与所属群组全部设成和参考文件或目录的拥有者与所属群组相同。
--from=<当前用户:当前群组>   只有当前用户和群组跟指定的用户和群组相同时才进行改变。

6. cp

6.1 cp -r 目录1 目录2

将目录/usr/men下的所有文件及其子目录复制到目录/usr/zh中

cp -r /usr/men /usr/zh

6.2 cp -i 目录1 目录2

将目录/usr/men中的以m打头的所有.c文件复制到目录/usr/zh中

cp -i /home/zjc/test01/t*.c /home/zjc/test02/

6.3 cp -f 目录1 目录2

需要覆盖一些同名文件,覆盖文件的时候都会有提示:需要不停的按Y来确定执行覆盖,可用 cp -f免除确认提示

cp -f /usr/men m*.c /usr/zh

7. cat

7.1 cat filename

打印出文件的内容

7.2 cat file1 file2 > file3

将file1、file2合并为一个文件file3

7.3 cat filename | grep keyword

把filename文件中包含keyword的行输出

7.4 cat file1 file2 | tar -czf archive.tar.gz -

​​​​​​​用于压缩文件。将cat输出重定向到一个tar命令中,可以将文件压缩成一个tar文件

7.5 cat filename > newfile

把filename的内容输出到newfile中,如果newfile不存在则会创建一个新的文件。

zjc@ubuntu:~/test01$ cat test011.c >test02.c
zjc@ubuntu:~/test01$ cat test02.c 
hello world

8. echo

8.1 echo "文本内容"

zjc@ubuntu:~$ current_time="I'm come"
zjc@ubuntu:~$ echo "hello world,$current_time"
hello world,I'm come
zjc@ubuntu:~$ echo 'hello world,$current_time'
hello world,$current_time

 双引号是弱引用,单引号是强引用

8.2 echo -e “\033[颜色m 字符串 \033[0m”

8.3 echo "文本内容" > filename 覆盖文件

8.4  echo "文本内容" >> filename 插入文件

9. reboot

9.1 reboot -d 重新开机时不把数据写入记录文件

9.2 reboot -f 强制重新开机,不调用shutdown指令的功能

9.3 reboot -i 重开机之前,先关闭所有网络界面

9.4 reboot -n 重开机之前不检查是否有未结束的程序

9.5 reboot -w 仅做测试,把重开机的数据写入/var/log目录下的wtmp记录文件

10. touch 创建空文件

11. pwd 打印当前工作目录或简单的目录用户

12. rm 删除文件

12.1 rm -i 删除文件前,系统先询问

zjc@ubuntu:~/test01$ rm -i test011.c 
rm:是否删除普通文件 'test011.c'? y 
zjc@ubuntu:~/test01$ 

12.2 rm -f 删除文件或目录,不询问确认,强制删除

zjc@ubuntu:~/test01$ rm -f test012.c 
zjc@ubuntu:~/test01$ 

12.3 rm -r 递归删除不同层级文件夹及包含的所有文件前,询问确认

12.4 rm -rf 递归删除不同层级文件夹及包含的所有文件前,不在询问确认

13. mv

13.1 mv filename newFilename 改文件名称

13.2 mv filename 指定目录 移动文件到指定路径下

14. vi

vi filename

三种状态

  • 命令模式(command mode)
  • 插入模式(Insert mode)
  • 底行模式(last line mode)

模式切换

  1. 按一下字母「i」就可以进入「插入模式(Insert mode)」
  2. 按一下「ESC」键转到「命令行模式(command mode)」
  3. 在「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」

例如

: w filename (输入 「w filename」将文章以指定的文件名filename保存)

: wq (输入「wq」,存盘并退出vi)

: q! (输入q!, 不存盘强制退出vi)

15. apt-get

16. ssh

Secure Shell(SSH) 是由 IETF(The Internet Engineering Task Force) 制定的建立在应用层基础上的安全网络协议。

它是专为远程登录会话(甚至可以用Windows远程登录Linux服务器进行文件互传)和其他网络服务提供安全性的协议,可有效弥补网络中的漏洞。通过SSH,可以把所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。目前已经成为Linux系统的标准配置。
首先,确认是否安装了客户端和服务端

dpkg -l | grep ssh

如果只是想远程登陆别的机器只需要安装客户端(Ubuntu默认安装了客户端),如果要开放本机的SSH服务就需要安装服务器。

sudo apt-get install openssh-client 
sudo apt-get install openssh-server 

首先确认ssh-server是否已经启动

ps -e | grep ssh

sshd 表示ssh-server已经启动了。如果没有启动,可以使用如下命令启动:

sudo /etc/init.d/ssh start 

停止和重启ssh服务的命令如下:

sudo /etc/init.d/ssh stop  #server停止ssh服务 
sudo /etc/init.d/ssh restart  #server重启ssh服务

SSH两种级别的远程登录

16.1 口令登录

ssh 客户端用户名@服务器ip地址

ssh [email protected]

调用图形界面程序 -X 选项 

ssh -X [email protected]

 如果客户机的用户名和服务器的用户名相同,登录时可以省略用户名

ssh 192.168.0.1

SSH服务的默认端口是22,如果不设置端口的话登录请求会自动送到远程主机的22端口,可以使用 -p 选项来修改端口号

ssh -p 1234 [email protected]

 客户机必须要知道服务器的ip地址。可以在服务器端电脑上利用 ifconfig 命令查看该机的ip地址

ssh 客户端用户名@服务器ip地址

输入yes即可。这时系统会提示远程主机被添加到已知主机列表。

然后会要求我们输入远程主机的密码,输入的密码正确就可以成功登录了。命令提示符会修改为远程主机的提示符,现在开始,终端中输入的命令都将在服务器中执行。

 通过 Ctrl+D 或者 exit 命令退出远程登录

16.2 公钥登录

16.2.1 在本机生成密钥对

使用ssh-keygen命令生成密钥对:

ssh-keygen -t rsa   #-t表示类型选项,这里采用rsa加密算法

根据提示一步步的按enter键即可(其中有一个提示是要求设置私钥口令passphrase,不设置则为空,这里看心情吧,如果不放心私钥的安全可以设置一下,连续按回车则表示免密码登录),执行结束以后会在 /home/当前用户 目录下生成一个 .ssh 文件夹,其中包含私钥文件 id_rsa 和公钥文件 id_rsa.pub。

16.2.2 将公钥复制到远程主机中

ssh-copy-id会将公钥写到远程主机的 ~/ .ssh/authorized_key 文件中

17. scp

scp 命令用于 Linux 之间复制文件和目录。
scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。
scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。

17.1 scp【本地文件的路径】【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】

scp /Users/mac_pc/Desktop/test.png [email protected]:/root

17.2 scp -r【本地文件的路径】【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】

scp -r /Users/mac_pc/Desktop/test [email protected]:/root

17.3 scp -r /Users/mac_pc/Desktop/test [email protected]:/root

scp [email protected]:/data/wwwroot/default/111.png /Users/mac_pc/Desktop

17.4 scp -r 【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】【本地文件的路径】

scp -r [email protected]:/data/wwwroot/default/test /Users/mac_pc/Desktop

参考博客链接:

https://blog.csdn.net/li528405176/article/details/82810342

(16条消息) scp命令传文件_scp 发送文件_D2cOneluo的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/weixin_46267139/article/details/131071564