Linux常用命令

1. Linux 基础

  • UNIX:1969年,美国,贝尔实验室,肯·汤普森
  • Linux:1991年,芬兰,赫尔辛基大学,李纳斯·托瓦兹
  • 发行版本
    • 类型1:RedHat(红帽)、CentOS(社区企业级操作系统):
      • 包管理器:yum( Yellow dog Updater, Modified)
    • 类型2:Ubuntu(乌班图)、Debian(大便)
      • 包管理器:apt(Advanced Packaging Tool)
    cat /etc/issue		# 查看发行版本。etc等等,issue问题
    

2. 文件系统

  • lslist files,显示内容
    ls -al 								# all包含隐藏文件,long显示详细信息
    
  • mkdirmake directory,创建目录
    mkdir file1
    mkdir -p ~/test/file1 				# parents 递归创建
    
  • rmremove,删除文件或目录
    rm 文件								# 文件
    rm -r 目录							# route 目录
    rm -f 文件/目录	   					# force 强制删除
    
  • cpcopy,复制文件或目录
    cp 源 目标							# 文件
    cp -r 源 目标						# route 目录
    
  • mvmove,文件或目录 改名/移动位置
    mv /file1 /target/file2				# 移动位置
    mv hello_word.py hello.py			# 修改名字
    
  • pwdprint work directory,打印工作目录
    pwd
    
  • scpsecure copy,基于 ssh 登陆进行安全的远程文件拷贝命令
    scp -r root@X.X.X.X:remote_folder locale_folder     # 复制远程目录到本地
    scp locale_file root@X.X.X.X:remote_file	    	# 复制本地文件到远程
    
  • dudisk usage,显示目录或文件的大小
    du -h							# --human-readable 以K,M,G为单位
    
  • findfind,磁盘下,搜索文件,耗内存效率低。
    # 文件名
    find /etc -name 'init'			# 区分大小写
    find /etc -iname 'init'			# 不区分大小写
    find /etc -name '*init*'		# 模糊搜索,文件名包含init的文件
    find /etc -name 'init???'		# 模糊搜索,文件名init开头且后面跟3个字符的文件
    # 文件大小
    find /etc -size +204800						# 查找大于100MB的文件
    find /etc -size +163840 -a -size +204800  	# 且 and
    find /etc -size +163840 -o -size +204800  	# 或 or
    # 文件所有者
    find /home -user liushuai
    
    # 搜索出来后,立即执行
    find /etc -name init* -exec ls -l {} \;		# {}:find查找到的结果,\转义符 ;结束
    # 搜索出来后,询问是否执行
    find /home -user liushuai -ok rm {} \;		# y执行,n不执行进入下一个
    # 显示所有文件  												
    find /etc -name init*  -type f				# f文件,d目录,l软链接文件		 
    
  • locatelocate,数据库下,搜索文件,有索引效率高。
    locate passwd
    
  • whereiswhereis,数据库下,搜索二进制文件、源文件、帮助文档,有索引效率高。
    whereis passwd
    
  • whichwhich,环境变量PATH下,搜索可执行文件,效率高。
    which passwd
    
  • lsoflist open files,列出当前系统打开的文件。
    lsof -i:端口号						# 查看端口占用情况
    
  • dfdisk free,以磁盘分区为单位查看文件信息。
    df -h
    
  • lnlink,创建文件链接。
    # lrwxrwxrwx,l软链接,文件小,文件名→原文件,类似快捷方式
    ln -s /etc/issue /tmp/issue.soft	# 软连接,s:软链接(符号链接)
    # 硬链接识别,类似副本,不占空间。
    ln /etc/issue /tmp/issue.hard		# 硬链接,同步更新
    
  • tartape archive,打包和还原文件
    tar -cvzf file.tar.gz file		# 打包并压缩(c:建立备份文件,v:执行过程,z:调用gzip,f:指定备份文件)
    tar -xvzf file.tar.gz			# 还原并解压(x:还原,z:调用gunzip)
    
  • zipzip,压缩和解压文件
    zip -r html.zip /home/html		# route 目录中得全部文件
    unzip abc.zip					# 解压缩 
    
  • tee:读取输入的数据,并输出成文件。
    tee file_1 file_2				# 输入数据写入file_1和file_2中。
    

3. 文本编辑

  • vi/vim参考文档
  • awk参考文档,文本分析工具。
    awk -F: '{print $0}' test	# test中的内容以:划分,打印出整行内容
    awk '{print $1}' test		# test中的内容以空格划分,打印出第1个字段
    
  • echo:用于字符串的输出
    echo "It is a test"
    
  • touch:修改文件或者目录的时间属性,文件不存在则新建。
    touch testfile            	# 修改文件时间属性为当前系统时间,文件不存在则新建。
    
  • more/less:一页一页显示信息,按空白键就显示下一页,按b键显示上一页。
    more hello_world.java
    less hello_world.java
    
  • head:查看文件的开头部分的内容
    head -n 5 runoob_notes.log		# 显示开头5行信息
    
  • tail:显示文件最尾部的内容,并且不断刷新。
    tail -f notes.log				# 常用于查看日志
    
  • catconcatenate,按行合并文件
    cat textfile1 > textfile2		# 合并到textfile2中
    cat textfile1					# 输出显示
    
  • paste:按列合并文件
    paste ts1 ts2 > new_col			# 按列合并文件并生成新文件
    paste ts1 ts2					# 合并后输出显示
    
  • split:将一个文件分割成数个(文件名:xaa xad xag xab …)
    split -6 README       		# 将README文件每六行(默认1000)分割成一个文件
    
  • cut:显示每行从开头算起 num1 - num2 或 num1,num2的字符。
    cut -b 3,7 test				# -b 字节为单位,-c 字符为单位。
    
  • grepglobal search regular expression(RE) and print out the line,查找文件里符合条件的字符串
    grep test *file				# 查找后缀有 file 字样的文件中包含 test 字符串的文件,并打印出该字符串的行
    grep -r update /etc/acpi  	# 查找指定目录/etc/acpi 及其子目录,......
    
  • wcword count,计算指定文件的行数、字数,以及字节数
    wc -c hello_word.java		# -l:行数; -w:字数; -c字节数
    
  • sort:将文本文件的第一列以 ASCII 码的次序排列,并将结果输出到标准输出。
    sort testfile
    
  • uniq:检查文件并删除文件中重复出现的行
    uniq -c testfile			# XXX, 并在行首显示该行重复出现的次数
    
  • diff:比较文件的差异
    diff log2014.log log2013.log
    
  • file:辨识文件类型
    file eval_recommend.py
    

4. 进程管理

  • psprocess status,显示进程状态。
    ps -aux						 # 显示所有行程(a:显示所有;u:显示用户;x)
    ps -u root					 # 显示root用户进程状态
    
  • jobs:查看后台进程的状态信息。
    sh test.sh &				# 末尾加&表示后台运行
    jobs -l 					# 查看后台运行的进程
    
  • top:实时显示 process 的动态。
    top -u xiaowang				# 按用户显示
    top -c						# 显示完整命令
    
  • free:显示内存状态。
    free -h						# 以合适的单位显示内存使用情况
    
  • kill:杀死进程
    kill -9 123456				# 彻底杀死进程
    
  • pkill: 杀死指定名字的所有进程
    pkill -9  php-fpm          # 结束所有的php-fpm进程
    
  • xargseXtended ARGuments,给命令传递参数的一个过滤器。因为,很多命令不支持 | 管道来传递参数。
    find /sbin -perm +700 |ls -l       		# 这个命令是错误的
    find /sbin -perm +700 |xargs ls -l   	# 这样才是正确的
    
  • pstree:以树状图的方式展现进程之间的派生关系
    pstree						# 树状图显示
    
  • sleep:将目前动作延迟一段时间
    date;sleep 1m;date			# 显示目前时间后延迟 1 分钟,之后再次显示时间
    
  • crontab:定期执行程序的命令
    crontab -e					# 执行文字编辑器来设定时程表
    cat /etc/crontab			# 查看命令详情(写法)
    
  • exit:退出目前的shell,退出终端。
    exit
    
  • bg / fg:调度正在运行的任务。
    ------------------------- 启动两个后台进程 --------------------------
    ping localhost -a >/dev/null &			# 后台进程1
    [1] 1762
    ping 127.0.0.1 -a >/dev/null &			# 后台进程2
    [2] 1763
    -------------------------- 调回前台执行 ----------------------------
    fg 1									# 把程序调回到前台运行
    ping localhost -a > /dev/null
    ^Z										#  Ctrl-Z ,挂起这个程序
    [1]+  已停止   1762            ping localhost -a > /dev/null
    jobs -l									# 显示后台进程
    [1]+  已停止   1762            ping localhost -a > /dev/null
    [2]-  运行中   1763            ping 127.0.0.1 -a > /dev/null &
    -------------------------- 调回后台执行 ----------------------------
    bg 1				 					# 把程序调度到后台执行
    [1]+ ping localhost -a > /dev/null &
    jobs -l									# 显示后台进程
    [1]-  运行中   1762            ping localhost -a > /dev/null &
    [2]+  运行中   1763            ping 127.0.0.1 -a > /dev/null &
    
  • time:显示指令执行时所需消耗的时间及系统资源
    time ls -al
    
  • date:显示或设定系统的日期与时间
    date					# 显示:2021年11月5日 星期五 19时50分38秒 CST
    

5. 账号权限

  • hostname:显示或者设置当前系统的主机名
    hostname				# 显示主机名
    hostname -I				# 显示主机的网络IP
    
  • who:当前在本地系统上的所有用户及信息。
    who						# 只显示登陆用户帐号名、所用的终端、何处登陆
    w						# 显示的信息更多
    
  • whoami:查看当前用户名
    whoami
    
  • id:显示用户的ID,以及所属群组的ID。
    id
    
  • sudoSuper User do,以系统管理者的身份执行指令。
    sudo ls -al
    
  • passwd:更改使用者的密码。
    passwd
    
  • chmodchange the permissions mode of a file,所有者、管理员root修改文件或目录的权限。
    chmod -R 742	# R: 递归修改权限,	742: 一种模式(r=4、w=2、x=1)
    
  • chownchange owner,更改文件所有者,仅管理员可使用。
    chown root linux_file
    
  • ping:检测是否与主机连通
    ping www.baidu.com			# ping 域名
    ping XX.XX.XX.XX			# ping ip
    
  • netstatnetwork statistics,查看网络状态。
    netstat
    
  • iostatI/O statistics,查看系统磁盘IO情况。
    iostat
    

6. 辅助工具

  • type:显示命令的类型信息。分系统自带的内置命令和外部命令
    type cd					# cd is a shell builtin。内置命令
    type ls					# ls is /bin/ls。外部命令
    
  • help / man / info:获取帮助文档信息,信息逐渐增多。
    help ls
    man cd
    info ping
    
  • history:查看执行过的历史命令
    history n				# 查看最近执行过的n个命令信息
    
  • uname:显示系统信息
    uname -a				# 全部信息
    Linux xxxxx_name_xxxx 4.19.0-17-amd64 #1 SMP Debian xx.xx.xxx-x (xxxx-xx-xx) x86_64 GNU/Linux
    
  • whatis:查询一个命令执行什么功能
    whatis cp 				# cp (1)   - copy files and directories
    
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码大玩家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值