提升工作效率,有必要掌握的linux命令——基础命令
1、登录服务器SSH命令
简单说,SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。
最基本的用法:
常用格式:ssh [-l login_name] [-p port] [user@]hostname
例子:
ssh 192.168.0.122
ssh -l root 192.168.0.222
# 比较常用
ssh root@192.168.0.11
2、传输文件scp命令
scp命令用于Linux服务器之间复制文件和目录。scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。
最基本的用法:
常用格式:scp [可选参数] file_source remote_username@remote_ip:remote_folder
例子:
scp /home/test.log root@192.168.0.122:/home/test/
注意: 使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用的。
3、查看系统状态 top、free、df
top命令用于实时显示 process 的动态。可以配合用来查询vm的一些问题!具体参数不做介绍。
# 表示更新两次后终止更新显示
top -n 2
#表示更新周期为3秒
top -d 3
# 显示进程号为2586的进程信息,CPU、内存占用率等
top -p 2586
更新显示二次的结果输入到名称为 top.log 的档案里
top -n 2 -b < top.log
free命令用于显示内存状态。
# 显示内存使用信息 , -h 选项为根据大小适当显示(人类可以读懂的方式)
free -h
# 每10s 执行一次命令
free -hs 10
df 以磁盘分区为单位查看文件系统,可以获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
# 查看磁盘信息, -h 选项为根据大小适当显示
df -h
du会显示指定的目录或文件所占用的磁盘空间。用于查看当前目录的总大小。
# 通过排序的方式显示前十条
[root@localhost ~]# du -am | sort -nr | head -n 10
183 ./jdk-8u191-linux-x64.tar.gz
183 .
1 ./.viminfo
....
4、压缩/解压tar命令
tar是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。
•压缩文件
命令 : tar -zcvf 备份文件.tar.gz 备份文件/目录
后缀也可以是.tgz。
# 创建一个文件
[root@localhost ~]# touch text.log
# 压缩 text.tar.gz
[root@localhost ~]# tar -zcvf text.tar.gz text.log
[root@localhost ~]# tar -zcvf text.tgz text.log
text.log
[root@localhost ~]# ll
-rw-r--r--. 1 root root 114 2月 12 22:45 text.tgz
•列出压缩文件内容
命令: tar -ztvf 备份文件.tar.gz 或 tar -ztvf 备份文件.tgz
[root@localhost ~]# tar -ztvf text.tar.gz
-rw-r--r-- root/root 0 2022-02-09 22:41 text.log
[root@localhost ~]# tar -ztvf text.tgz
-rw-r--r-- root/root 0 2022-02-09 22:41 text.log
•解压文件
命令: tar -zxvf 备份文件.tar.gz 或 tar -zxvf 备份文件.tgz
[root@localhost ~]# tar -zxvf text.tar.gz
-rw-r--r-- root/root 0 2022-02-09 22:41 text.log
[root@localhost ~]# tar -zxvf text.tgz
-rw-r--r-- root/root 0 2022-02-09 22:41 text.log
tar -z 压缩(c)、查看(t)、解压(x)vf
•-z或--gzip或--ungzip 通过gzip指令处理备份文件•-c或--create 建立新的备份文件•-t或--list 列出备份文件的内容•-x或--extract或--get 从备份文件中还原文件•-v或--verbose 显示指令执行过程•-f<备份文件>或--file=<备份文件> 指定备份文件
5、查找文件find命令
find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
find . -iname \*.txt(大小写都匹配)
find . -type d(当前目录下的所有子目录)
find /usr -type l(当前目录下所有的符号链接)
find /usr -type l -name "z*" -ls(符号链接的详细信息 eg:inode,目录)
find /home/test -size +250000k(超过250000k的文件,当然+改成-就是小于了)
find /home/test f -perm 777 -exec ls -l {} \; (按照权限查询文件)
find /home/test -atime -1 1天内访问过的文件
find /home/test -ctime -1 1天内状态改变过的文件
find /home/test -mtime -1 1天内修改过的文件
find /home/test -amin -1 1分钟内访问过的文件
find /home/test -cmin -1 1分钟内状态改变过的文件
find /home/test -mmin -1 1分钟内修改过的文件
#----------
#查找/var/log目录中更改时间在7日以前的普通文件,并在删除之前询问它们
find /var/log -type f -mtime +7 -ok rm {} \;
#查找系统中所有文件长度为0的普通文件,并列出它们的完整路径
find / -type f -size 0 -exec ls -l {} \;
6、修改文件属性chmod命令
Linux/Unix 的文件调用权限分为三级 : 文件拥有者、群组、其他。利用 chmod 可以藉以控制文件如何被他人所调用。
读,写,执行的权限。r=4,w=2,x=1
•若要rwx属性则4+2+1=7;•若要rw-属性则4+2=6;•若要r-x属性则4+1=5。
一般情况,赋值 命令
chmod 755 xxfile
7、查询字符grep命令
grep命令用于查找文件里符合条件的字符串。
grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。
# 显示所有以d开头的文件中包含test的行。
grep 'test' d*
# 显示在text1,text2,text3文件中匹配test的行。
grep 'test' text1 text2 text3
# text文件中显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
grep '[a-z]\{5\}' text
# 查找文件名中包含 test 的文件中不包含test 的行
grep -v test *test*
8、查看端口占用netstat命令
netstat命令用于显示网络状态。
利用netstat指令可让你得知整个Linux系统的网络情况。
# 查看端口3306的使用情况
netstat -tln | grep 3306
查看端口属于哪个程序
lsof -i :3306
9、切换目录 cd | 显示当前路径 pwd
# 登录服务器
Connecting to 192.168.0.122:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'
cd 命令用于切换当前工作目录至 dirName(目录参数)。
其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录)。
另外,"~" 也表示为 home 目录 的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录。
pwd命令用于显示工作目录。
执行pwd指令可立刻得知您目前所在的工作目录的绝对路径名称。
# 进入 test “空间”
[root@localhost ~]# cd test/
# 查看magic “空间”当前的目录
[root@localhost test]# pwd
/root/test
10、杀死进程kill命令
kill命令用于删除执行中的程序或工作。查找tomcat服务,并彻底杀死进程。
# 查找tomcat服务器
ps aux | grep tomcat
root 35798
# 杀掉进程 -9 强制杀,一枪爆头
kill -9 35798
# 杀掉进程 -15 温柔杀,安乐死
kill -15 35798
11、创建目录 mkdir|创建文件 touch
mkdir命令用于建立名称为 dirName 之子目录。
touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
# 创建一个奇幻目录,也可以一次性创建多个。或者多级
# 创建一个
[root@localhost magic]# mkdir fantasy
[root@localhost magic]# ls
fantasy
# 创建多个
[root@localhost magic]# mkdir great best
[root@localhost magic]# ll
总用量 0
drwxr-xr-x. 2 root root 6 2月 12 22:47 best
drwxr-xr-x. 2 root root 6 2月 12 22:45 fantasy
drwxr-xr-x. 2 root root 6 2月 12 22:47 great
# 创建多级
[root@localhost magic]# mkdir -p surprise/otherworld
[root@localhost magic]# cd surprise/otherworld/
[root@localhost otherworld]# pwd
/root/magic/surprise/otherworld
#-------------------#
# 在fantasy 下创建一个文件
[root@localhost fantasy]# touch happyday
[root@localhost fantasy]# ll
总用量 0
-rw-r--r--. 1 root root 0 2月 12 22:50 happyday
# 在fantasy 下创建多个文件
[root@localhost fantasy]# touch sadday busyday
[root@localhost fantasy]# ll
总用量 0
-rw-r--r--. 1 root root 0 2月 12 22:50 busyday
-rw-r--r--. 1 root root 0 2月 12 22:50 happyday
-rw-r--r--. 1 root root 0 2月 12 22:50 sadday