Linux常用命令整理

Part 1

  1. man : 帮助
    例:
    man touch // 查看touch的功能介绍
    q //退出

  2. 常用的符号

  • (1) 管道符 : |
    功能: 命令1 | 命令2
    命令1的输出作为命令2的输入
  • (2) 重定向符号: > ; >>
    功能:将前一个命令的输出重定向到后面
    > 表示覆盖
    >>表示追加
  • (3) 后台运行:&
    例:ls & // ls命令后台运行

Part 2 : 文件管理命令

  1. ls : 显示当前目录下的所有文件信息
    参数介绍:
    -l:列形式显示
    -r:反序,最近修改时间放在最后
    -t:按修改时间排序
    -a:能看到所有文件,包括隐藏文件
    注:Linux下的隐藏文件以.开头
    例如:
    ls -lrta | grep *.cfg :
    按行过滤(grep),显示所有的.cfg文件

  2. chmod:修改文件的权限

补充:文件的权限
r:可读;w:可写;x:可执行
rwx:所有者权限
r-x:组用户
r--:其他用户

例子来展示chmod的用法

  • (1) chmod u+x test.cfg
    u+x表示所有者加一个 x(可执行)权限
  • (2) chmod a+x test.cfg
    a+x表示所有用户加一个 x(可执行)权限
    另外 : g-group ; o-other
  • (3) chmod 777 * : 代表所有文件
    777 : 111 111 111,三组用户权限设置为可读可写可执行
    又如:chmod 563 test.cfg:101 110 011
  1. touch : 创建空文件
  2. mkdir:创建目录
  3. cp:复制
  • 复制文件
    cp Source Dst
  • 复制目录
    cp -r Source Dst
    cp -a Source Dst

补充
scp命令:两台设备上复制文件(相同的OS)
scp local_file remote_username@remote_ip = remote_folder
其中:
local_file : 本地文件
remote_username: 远程用户名
remote_ip : ip
remote_folder : 目录
也可以反着来

  1. mv:移动 & 改名
  • (1) mv *.o a // 将.o文件移到目录a下
  • (2) mv hello.o hello.oo//将hello.o改名为hello.oo
  1. rm:删除
    参数:-rf 删除一切,世界清净了
  2. file:探测给定文件的类型

Linux下:
.a : 静态库
.o : 目标文件
.so : 动态库
.sh : 可执行文件

  1. cat/more/tail :查看文件内容
  • (1) cat filename:查看文件内容,将一个文件中的所有内容全部显示
补充
1. 
cat >> filename
hello world !   //可以写文件内容
最后 ctrl-D保存

2.
cat file1 file2 >> file3
将file1,file2的内容合并到file3
  • (2) more filename :查看文件内容,文件内容分屏显示
  • (3) tail -50 hello.c : 显示文件后 50 行内容
    tail -f hello.c : 定位问题时,动态显示改变内容
  1. grep : 根据行过滤,筛选关键
例:
test.txt
111
1111
222
333
123
  • grep 1 test.txt : 按行过滤文件test.txt,筛选有1的数据,并输出内容
    111
    1111
    123
  • grep -n 1 test.txt:按行过滤文件test.txt,筛选有1的数据,并输出内容以及所在的行号
    1 : 111
    2 : 1111
    5 : 123

其他参数:
-i: 忽略关键字的大小写
-v:反向匹配,不包含写的关键字的其他所有

  1. find
    格式:find DIR -name "xxx"
    DIR:目录名
    xxx:文件名
    例:
    find ./ -name *.c : find当前目录下名为.c的文件
    参数:
    -type
    -type -d : 类型为目录
    -type -f : 类型为文件
    进阶:
    find DIR -name "xxx" | xargs grep "***"

  2. cd
    cd:进入用户Home目录(等价于 cd ~
    cd /:返回根目录
    cd ..:上一级目录
    cd ./:当前目录


Part 3 : 系统管理命令

  1. df:显示系统分区情况
    参数:
    -h:human,以人类可接受形式显示
  2. free:查看内存情况
  3. ps:列出系统中当前运行的进程,process status
    常用选项:
    ps -aux:"ps -aux"打印用户名为"x"的用户的所有进程,以及打印所有将由-a选项选择的过程。如果用户名为"x"不存在,ps将会解释为"ps aux",而且会打印一个警告
    ps aux:功能与上述一样,只是优化了
    ps -ef-e 显示所有进程-f 全格式,输出结果与上述差别不大,只是展示的风格不同,aux是BSD风格,-ef是System V风格,这是次要的区别。一个影响使用的区别是aux会截断command列,而-ef不会,当结合grep时这种区别会影响到结果。

例子:
ps -aux | grep xxx : 查看执行进程xxx的pid

综上:以上三个命令推荐使用:ps –ef

注:ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用 top 工具。(下面有top命令相关)

linux上进程有5种状态:

  1. 运行(正在运行或在运行队列中等待)
  2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
  3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
  4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
  5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)

ps工具标识进程的5种状态码:
D 不可中断 uninterruptible sleep (usually IO)
R 运行 runnable (on run queue)
S 中断 sleeping
T 停止 traced or stopped
Z 僵死 a defunct (”zombie”) process

  1. lsof/ldd
  • (1) lsof -p pid:看进程pid打开了多少文件
  • (2) ldd /sbin/test:查看某可执行文件依赖哪些库
  1. top:动态查看系统中进程状态
    top -p pid:动态查看某进程的状态
    top子命令:
    P:按所占CPU排序
    M:按所占内存排序
    qquit

  2. kill:杀进程
    kill -l:查看系统有哪些信号,列出来
    kill -n pidn为信号编号,通过kill -l可以列出;pid为进程号;给进程pid发送信号n
    有常见信号,15 - SIGTERM:终止信号;9 - SIGKILL
    11 - SIGSEGV:段错误,访问非法内存
    例子:
    kill -15 pid:系统会发送一个SIGTERM的信号给对应的程序。当程序接收到该signal后,将会发生以下的事情

    • 程序立刻停止
    • 当程序释放相应资源后再停止
    • 程序可能仍然继续运行
      大部分程序接收到SIGTERM信号后,会先释放自己的资源,然后在停止。SIGTERM多半是会被阻塞的、忽略.

    kill -9 pid:必杀令,多半admin会用这个命令,当然有些状态的程序不会立即响应

  3. tar:打包,压缩;解压缩的功能

    • tar -zcvf ABC.tar.gz ABC:将目录ABC下的内容压缩成压缩包ABC.tar.gz
    • tar -zxvf ABC.tar.gz:解压缩压缩包 ABC.tar.gz
  4. ln:链接功能

  • (1). ln abc abc_hard_link # 链接,也称为硬链接,功能效果见下面实例
  • (2). ln -S abc abc_soft_link #软链接,也称为符号链接,类似快捷方式的功能,功能效果见例子

举个例子展示硬链接和软链接的区别

dadadad
插图


Part 4 : 网络操作命令

  1. ping
  2. ifconfig:查看设备ip,配置设备ip
    例如配置虚拟网卡的地址:
    ifconfig etho : 12 191.167.56.60 netmask 255.255.255.0 up
    升级的命令ip
  3. netstat:查看网络状态
  4. ssh
    ssh user_name@user_ip : 功能见下例展示

插入图示

  1. history:查看历史命令,常与grep命令一起使用
    例:
    history | tail -10:显示最后10条命令
    history | grep ifconfig:找相关已配的命令,ifconfig相关
    history:显示所有的敲得命令
    history | grep 1024 | grep abc| grep xxx:可以使用管道符号,无限筛选显示

你可能感兴趣的:(Linux常用命令整理)