unix命令

在Unix系统中执行可执行文件

耗尽温柔 提交于 2019-12-04 12:23:41
  这篇文章是我在一个叫做Charlotte数据挖掘的公众号上看到的文章,文首提到转载自"朱小厮的博客",当我今天执行一个自己编译的可执行文件后的运行阶段想到了这篇文章,直接一次成功。非常感谢这篇文章。现在记录下来,仅供学习。 在Linux中,我们执行内置命令时,直接输入命令名称即可,如: $ mv a b #将a重命名为b 而在执行自己写好的程序时,却要带上./,例如: $ hellohello: command not found$ ./hellohello world 这是为什么呢?它们有什么区别呢? shell是如何运行程序的 在说明清楚问题之前,我们必须了解shell是如何运行程序的。首先我们必须要清楚的是,执行一条Linux命令,本质是在运行一个程序,如执行ls命令,它执行的是ls程序。那么在shell中输入一条命令,到底发生了什么?它会经历哪几个查找过程? alias中查找 alias命令可用来设置命令别名,而单独输入alias可以查看到已设置的别名: $ aliasalias egrep='egrep --color=auto'alias fgrep='fgrep --color=auto'alias grep='grep --color=auto'alias l='ls -CF'alias la='ls -A'alias ll='ls -alF'alias ls=

Linux/(centos、unix等)的ssh双向免密登录原理和实现

两盒软妹~` 提交于 2019-12-04 12:01:55
原理: 双向,顾名思义,双方互通,此处的意思是多台 linux 两两免密登录。 双向比单向多了些操作,单向只需把某一个linux的公钥发送给其他linux即可,而双向要实现集群中的每一台机器都保存其他所有机器的公钥。 步骤: 假设你有两台机器,ip分别为A和B, 配置分为五步,如下: 1.非免密登录对方:   //目的是自动生成.ssh文件夹   先执行cd这个命令到根目录下,然后执行如下命令登录:   ssh B  //在A机器执行此命令,输入yes和B机器的用户密码登录   ssh A  //在B机器执行此命令,输入yes和A机器的用户密码登录 之后分别执行exit命令退出,一定要退出。 2.生成公钥 (以下命令在A和B机器都要执行):   cd .ssh/ 如下命令生成公钥,默认会在 ~/.ssh/ 下生成 id_rsa 和 id_rsa.pub 。先检查一下机器.ssh文件夹下是否已有公钥,如果没有再执行:   ssh-keygen -t rsa(一直回车)    //目的是生成公钥 -t 指定算法 -f 指定生成秘钥路径 -N 指定密码 3.拷贝公钥:   scp id_rsa.pub root@B:~/.ssh/authorized_keys  //此命令在A机器执行,目的将公钥发送至B机器   scp id_rsa.pub root@A:~/.ssh

/bin/bash^M: bad interpreter

老子叫甜甜 提交于 2019-12-04 08:51:17
(1)使用linux命令dos2unix filename,直接把文件转换为unix格式; (2)使用sed命令sed -i "s/\r//" filename 或者 sed -i "s/^M//" filename直接替换结尾符为unix格式; (3)vi filename打开文件,执行 : set ff=unix 设置文件为unix,然后执行:wq,保存成unix格式。 来源: https://www.cnblogs.com/0916m/p/11851126.html

进程管理工具 supervisord 即使supervisorctl 命令的使用

你。 提交于 2019-12-03 18:09:08
启动supervisord服务 //注意配置文件的路径 supervisord -c /etc/supervisord.conf sudo supervisorctl //进入客户端 如何没有启动服务 出现 :unix:///tmp/supervisor.sock no such file 进入客户端执行命令 supervisor>shutdown //关闭服务 supervisor>reload //重载配置 来源: CSDN 作者: 子静静 链接: https://blog.csdn.net/yang_yang1994/article/details/78072753

Unix crontab命令 添加定时任务

ε祈祈猫儿з 提交于 2019-12-03 12:24:01
Unix crontab命令 添加定时任务 使用crontab命令要求root身份 1. crontab -1 [username] 列出用户现有任务的列表 RH Linux 为 crontab -u username -l 列出指定用户现有任务的列表 2. crontab -d [username] 删除用户目前的任务 3. crontab-c dir- 指定crontab的目录 4. 如果想添加一个任务或想编辑任务 使用 crontab -e 命令,进入一个VI的编辑界面,既可以添加或修改任务了 时间说明 *  *  *  *  *  command 分 时 日 月 周 命令 第1列表示分钟1~59 每分钟用*或者 */1表示 第2列表示小时1~23(0表示0点) 第3列表示日期1~31 第4列表示月份1~12 第5列标识号星期0~6(0表示星期天) 时间部分 * 逗号(',') 指定列表值。如: "1,3,4,7,8" * 中横线('-') 指定范围值 如 "1-6", 代表 "1,2,3,4,5,6" * 星号 ('*') 代表所有可能的值 第6列要运行的命令: 文件路径 参数 例子 : 30 21 * * * /etc/ restart 常见陷阱 每个SA、DBA 或者是普通的 Unix 用户,在第一次使用 Crontab 的时候都会遇到问题. 运行 Crontab

sed常用命令总结

时光毁灭记忆、已成空白 提交于 2019-12-03 10:35:34
打印文件的总行数: sed -n '$ =' filename 使用命令l,把制表符显示为\t,行尾标志显示出来: sed -n 'l' filename 结果会显示成: fname\tFirst Name$ lname\tLast Name$ mname\tMiddle Name$ 把DOS格式的文件转换为Unix格式(使用sed可以把DOS的换行符(CR/LF)替换为Unix格式。 当把DOS格式的文件拷到Unix上,你会发现,每行结尾都有\r\n): sed 's/.$//' filename 来源: https://www.cnblogs.com/yanwuliu/p/11791427.html

【Unix】从who,ls,pwd命令到文件

夙愿已清 提交于 2019-12-03 08:59:23
从who命令说起呢是因为《Understanding UNIX/LINUX Programming》chap2讲的是这个。 推荐这本书的原因呢:a.通过命令了解到linux命令的具体处理机制 b.提高了编程技能,了解了APUE里讲的一些函数。 可以与APUE交叉着看,还是推荐主题阅读【文件读写(有缓冲,无缓冲)】,这样便于记忆和知道优缺点,在应用的时候能做到游刃有余。 我觉得第二章的思路提炼出来后,对自己编程和想问题是个提高: a.who命令实现什么功能? b.who命令是如何工作的? c.如何编写who命令?【i.读取文件数据结构 Q.如何从文件中读取 ii. 将结构中信息以合适的形式显示出来】 who的实现是读取文件内容;ls是读取目录内容;pwd是读取的是文件系统。基本这三方面也表示了文件方面的一些知识了。 pwd: unix文件系统的内部结构: (1)超级块,(2)i-节点表,(3)数据区 文件有内容和属性,内核将文件内容存放在数据区;文件属性存放在i-节点,文件名存放在目录。 创建一个新文件有4个主要操作:(1)存储属性 (2)存储数据 (3)记录分配情况 (4)添加文件名到目录。 //主要推荐这本书,当然有更好的书也可以推荐。具体的学习笔记,自己本章没有全部看完,看完会结合APUE文件操作章节整理成一个blog内容。 参考书目:《Understanding UNIX

2.Python3环境搭建

眉间皱痕 提交于 2019-12-03 06:12:17
本章节我们将向大家介绍如何在本地搭建 Python3 开发环境。 Python3 可应用于多平台包括 Windows、Linux 和 Mac OS X。 Unix (Solaris, Linux, FreeBSD, AIX, HP/UX, SunOS, IRIX, 等等。) Win 9x/NT/2000 Macintosh (Intel, PPC, 68K) OS/2 DOS (多个DOS版本) PalmOS Nokia 移动手机 Windows CE Acorn/RISC OS BeOS Amiga VMS/OpenVMS QNX VxWorks Psion Python 同样可以移植到 Java 和 .NET 虚拟机上。 Python3 下载 Python3 最新源码,二进制文档,新闻资讯等可以在 Python 的官网查看到: Python 官网: https://www.python.org/ 你可以在以下链接中下载 Python 的文档,你可以下载 HTML、PDF 和 PostScript 等格式的文档。 Python文档下载地址: https://www.python.org/doc/ Python 安装 Python 已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。 您需要下载适用于您使用平台的二进制代码,然后安装 Python。

ubuntu普通用户登录操作docker提示无权限的解决办法

匿名 (未验证) 提交于 2019-12-03 00:41:02
docker守护进程启动的时候,会默认赋予名字为docker的用户组读写Unix socket的权限,因此只要创建docker用户组,并将当前用户加入到docker用户组中,那么当前用户就有权限访问Unix socket了,进而也就可以执行docker相关命令 文章来源: ubuntu普通用户登录操作docker提示无权限的解决办法

UNIX整理

匿名 (未验证) 提交于 2019-12-03 00:33:02
《UNIX程序设计》期末考试复习提纲 题型: 复习要点: (1)什么是操作系统?什么是UNIX操作系统?什么是Linux操作系统?它们之间的关系是怎样的? 操作系统:控制计算机硬件和软件资源,对作业进行合理的调度,以供用户方便使用的一组软件的集合。 UNIX操作系统,是一个强大的多用户、多任务 操作系统 ,支持多种 处理器架构 ,按照操作系统的分类,属于 分时操作系统 。 类Unix 操作系统 ,是一个基于 POSIX 和 UNIX 的多用户、 多任务 、支持 多线程 和多 CPU 的操作系统。 Linux继承了 Unix 以 网络 为核心的设计思想,它能运行主要的UNIX工具软件、应用程序和网络协议。 (2)程序运行时,堆栈如何变化?什么是数据帧或活动记录?bp和sp指针在函数运行过程中是如何变化的? 新的栈中变量会在低地址的位置,新的堆中的变量会在高地址的位置 栈是向低地址延伸的,堆是向高地址延伸的 过程活动记录/栈帧, 每个(用户)栈帧包括如下内容: 函数实参和局部变量:由于这些变量都是在调用函数时自动创建的,因此在C语言中称其为自动变量。函数返回时将自动销毁这些变量(因为栈帧会被释放),这也是自动变量和静态(以及全局)变量主要的语义区别:后者与函数执行无关,且长期存在。 函数调用的链接信息:每个函数都会用到一些CPU寄存器,比如程序计数器,其指向下一条将要执行的机器语言指令