代码改变世界

Linux—基础命令

2020-01-03 14:52  清晨、午后  阅读(680)  评论(0编辑  收藏  举报

命令参数有长格式和短格式,长格式前置 -- ,短格式前置 -,只有短格式命令可以合并,前置一个 -

1. man  cmd  // 帮助信息

man tail  //  列出 tail 命令的帮助信息

2. whereis cmd  // 查询命令的路径

which cmd

3. echo  // 在终端输出字符串或者变量的值

echo bobolili

echo $PATH

4. date // 显示及设置系统的时间

date -s "20190901 8:30:00"  // 设置系统时间

date "+%Y-%m-%d %H:%M:%S"  //按指定格式输出日期时间,注意格式前有个 + 号

5. reboot  // 重启系统

6. poweroff  // 关闭系统

7. wget [...] url  // 下载网络文件

8. ps  [...]  // 查看系统进程状态

 -a  显示所有进程
 -u  显示用户及其他详细信息
 -x  显示没有控制终端的进程

 ps -aux  // 查看各个进程详细信息,可结合管道使用

 9. top   // 动态监视进程活动与负载信息

10. pidof   // 根据服务名称查看进程PID

pidof sshd

11. kill pid  // 终止指定的 pid 服务

12. killall  // 终止某个指定名称的服务所对应的全部进程

killall tmsserver

13. ifconfig  // 查看网卡配置与网络状态信息

14. uname -a   // 查看系统内核与系统版本信息

15. uptime  // 查看系统化运行时间、启用的终端数量、平均负载信息

16. free -h   // 显示系统内存使用信息

17. who  // 查看当前登入主机的用户的终端信息

18. history   // 查看历史命令

history -c   // 清除历史命令
!命令编码  // 执行编码对应的命令, 如  !3
cat ~/.bash_history  // 查看历史命令文件,history -c 不会清除改文件

19. pwd  // 显示用户当前工作目录

20. cd  // 切换工作路径

21. ls   // 显示目录中的文件信息

22. cat -n filename  // 查看内容较少的纯文本文件

23. more filename  // 查看内容较多的文件

24. head -n Nfilename  // 查看文件的前 N 行

25. tail  // 查看文件的后 N 行或查看持续更新的内容

tail -n 20  // 查看后20行

tail -f  // 查看持续更新

26. tr   // 替换文本文件的字符

27. wc   // 统计指定文本的行数、字数、字节数

如果要统计当前文件夹下子文件个数,可以结合 ll 用此命令

root@Kylin:/home/ceph-service/ceph/build/bin# ll | wc
     36     317    2430

 

28. stat  // 查看文件的具体存储信息和时间等信息

29. cut  // 按列提取文本字符

cut -d: -f1 /etc/passwd  // 查看以 :分割的,第1列内容

30. diff  // 用于比较文本文件的差异

diff --brief ddd.txt main.js  // 比较文件是否相同

diff -c ddd.txt main.js  // 描述文件内容的具体不同之处

31. touch  // 创建空白文件或者设置文件的相关时间

touch aaa.txt  // 创建一个名为 aaa.txt 的空文件

touch -a filename   // 修改文件的访问(读取)时间

-m   // 修改文件的修改时间

-d  // 修改文件的访问与修改时间

32. mkdir  // 创建空白目录

mkdir dir  // 创建名称为 dir 的空目录

mkdir -p a/b/c  // 递归创建目录

33. cp [参数] srcFile dstFile  // 复制文件或目录

-r  // 递归持续复制,用于目录
-i  // 若目标文件存在则询问是否覆盖
-p  // 保留原始文件熟悉
-d  // 若对象为链接文件,则保留该链接文件的属性

scp -rv root@192.168.2.220:/home/test.txt  .  // 复制远程文件到当前目录,-P 9303 可以指定端口,默认端口为22

ssh 服务安装

#安装 ssh 服务
    apt-get install ssh
#启用密码验证
vim /etc/ssh/sshd_config

PermitRootLogin prohibit-password 修改为
PermitRootLogin yes

#重启服务
/etc/init.d/ssh restar

xshell 工具可以使用 rz  sz 进行文件传输

34. mv  srcFile dstFile  // 用于文件的重命名或者剪切

35. rm [参数] File  // 删除文件或者目录

-f  // 强制删除,无提示
-r  // 删除目录

36. dd if=iFile of=oFIle count=1 bs=560M  // 按照指定大小和个数的数据块来复制或者转换文件

sudo dd if=/dev/zero of=./aaa bs=1M count=2     #创建一个2M的文件 aaa,用0充填内容
// 制作启动盘
sudo dd if=xxx.iso of=U盘设备路径

37. file filename  // 查看文件类型

38. tar [选项] file

-c  // 创建压缩文件
-x  // 解开压缩文件
-t  // 查看压缩包有哪些内容
-z  // 用 gzip 压缩或解压
-j  // 用 bzip2 压缩或解压
-v  // 显示压缩或解压过程
-f  // 目标文件名,必须放到最后一位,后跟要压缩或解压的文件名
-p  // 保留原始的权限与属性

 

39. grep 关键词 [选项] filenaem  // 在文本中执行关键词搜索并输出

-n   // 显示行数

-v  // 反向选择, not 操作

-E  // or and 操作 ,注意 | 和  .* 符号

-r  // 查询文件内容

-i  // 大小写不敏感

grep -v "a"  test.txt  // 不显示带 a 的
grep -E 'a|b' test.txt  // 显示包含 a 或 b 的
grep -E 'a.*b' test.txt t  // 显示包含 a 与 b 的
rm -rvf `ls | grep -v "build"`  // 删除文件名中不带 build 的文件
rm -rvf `ls | grep -vE 'build|package'`  // 删除文件名中不带 build 和 package 的文件
grep "sys/stat.h" -rn .  // 递归查找当前目录下所有文件中的 sys/stat.h,并显示行数

 

40. find 路径 -name filename  // 在指定路径下按照特定条件查找文件

-name  // 按文件名查找

-mtime [-n or +n]  // 按内容修改的时间  -n 指 n 天内,+n 指 n 天前

-atime [-n or +n]  // 按文件访问的时间

-ctime [-n or +n]  // 按文件权限修改的时间

-exec ...... {}\  // 后面可跟用于进一步处理搜索结果的命令

-type  // 按文件类型查找,如 find ./ -type f  或者 find ./ -type d

locate finename   // 快速定位文件

41. 重定向

 > filename  // 将标准输出重定向到文件中,覆盖

 >> filename  // 将标准输出重定向到文件中,追加

 2> filename  // 将错误输出重定向到文件中,覆盖

 2>> filename  // 将错误输出重定向到文件中,追加

将错误输出重定向到文件中对于执行 Shell 脚本比较有用,

可以把报错信息记录到文件中

2>&1   // 将标准错误输出重定向到标准输出

42. |  // 管道命令符,把前一个命令原本要输出到屏幕的标准正常数据当做后一个命令的标准输入

43. 通配符

*   // 0 个或多个字符

?   // 单个字符

[0-9]   // 0~9 之间的单个数字的字符

[a-z]   // a~z 之间的任意一个字符

[135abc]  // 135abc 中的任意一个字符

44. 转义符号

反引号(``)  // 把其中的命令执行后返回结果,如: gdb -p `pidof tmsserver`

双引号("")  // 保留其中的变量属性,不进行转义处理,  echo "$SHELL",输出的是 $SHELL,而不是变量 SHELL 的值

反斜杠(\)  // 使反斜杠后面的一个变量变为单纯的字符,\$$SHELL,输出的是 $/bin/bash

45. 环境变量

PATH=$PATH:/root/bin  // 修改环境变量 PATH 的值

WORKDIR=/home/lyb  // 当前用户自定义一个变量

export WORKDIR  // 导出 WORKDIR 变量为全局变量,所有用户均可访问

永久修改:
修改配置文件 /etc/profile
vim /etc/profile
如在里面加入:    export PATH=$PATH:/home/lyb
让/etc/profile文件修改后立即生效 ,可以使用如下命令:
source /etc/profile

 

共享库配置文件

#cat /etc/ld.so.conf

include ld.so.conf.d/*.conf

#echo "/usr/local/lib" >> /etc/ld.so.conf

#ldconfig

 

46. awk  // 强大的处理文本命令 https://www.cnblogs.com/virgosnail/p/11103651.html

参数 -F  // 指定分隔符,默认分隔符为空格

awk -F ':' '{print $1}'

如查看目录下的文件名(只看文件名,一个文件一行,ls 可直接看)

root@Kylin:/home/ceph-service/ceph/ceph# ll | grep -v build | awk '{print $9}'

47. vim 文本编辑器命令

命令模式下命令:

dd  // 删除(剪切)光标处所在整行
yy  // 复制光标处所在整行
p  // 粘贴复制或剪切的整行数据到光标后
u  // 撤销上一步操作
Ctrl + r // 恢复撤销得操作
G  // 跳转到尾行
gg  // 跳转到首行
$  // 跳转到尾列
0  // 跳转到首列  
dG  // 删除全部

末行模式下命令:

:set nu  // 显示行号
:q!  // 强制退出w  // 保存
:q  // 退出
:f  // 显示文件名
:pwd  // 显示文件路径

:13  // 跳转到 13 行

搜索

? 字符串  // 在文本中从下至上搜索该字符串
/  字符串  // 在文本中从上至下搜索该字符串

 

 区块选择

v    //字符选择
V    //列选择
ctrl+v    //区块选择

 

多窗口

:sp {filename}
[ctrl]+w+↑ 和[ctrl]+w+↓ 切换窗口

  

48.  watch 监视

watch -d -n 5 ls -l  // 监视目录内容变化,变化的部分高亮显示,5秒执行一次 ls

49. 查看系统相关信息

cat /proc/version  // 查看当前操作系统版本信息

cat /etc/issue  // 查看版本当前操作系统发行版信息

uname -a   // 看版本当前操作系统内核信息,--help 查看具体选项

 

50. tee 用于将数据重定向到文件

在终端打印stdout同时重定向到文件中:
ls | tee out.txt

51. alias(别名)

alias ll='ls -al'

写入  /root/.bashrc 可永久生效

52.w 命令

显示登录的用户及其当前执行的任务

 

 

 

 

 

 

 

===============================================