• Linux常用指令


    Linux常用指令

    1. 目录操作

    目录切换 cd

    # 切换到根目录
    cd /
    # 切换到根目录的usr目录
    cd /usr
    # 返回上一级目录 
    cd ..
    cd ../
    # 切换到home目录
    cd ~
    # 切换到上次访问的目录
    cd -
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    目录查看 ls [-a]

    # 查看当前目录下的所有目录和文件
    ls
    # 查看当前目录下的所有目录和文件(包括隐藏的文件)
    ls -a
    # 列表查看当前目录下的所有目录和文件
    ls -l
    # 查看指定目录下的所有目录和文件
    ls /dir
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    创建目录 mkdir

    # 当前目录创建名为mydir的目录
    mkdir mydir
    # 指定目录usr下创建名为mydir的目录
    mkdir /usr/mydir
    # 使用-p参数创建多级目录
    mkdir -p father/son/grandson
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    删除目录 rm

    # 删除名为mydir的目录,需要加'-f'参数
    rm -f mydir
    # 忽略提示删除
    rm -rf mydir
    
    • 1
    • 2
    • 3
    • 4

    复制目录

    # 复制目录需加'-r'参数,表示递归复制。将father目录复制到family目录 
    cp -r father family
    
    • 1
    • 2

    删除目录

    # 删除目录也需要加'-r'参数,删除mydir这个目录
    rm -r mydir
    
    • 1
    • 2

    搜索目录

    # find 目录 参数 文件名称
    # 查找/usr/temp下以'a'开头的文件或目录
    find /usr/temp -name 'a*'
    
    • 1
    • 2
    • 3

    查看当前所在目录

    pwd
    
    • 1

    2. 文件管理

    创建文件

    # 创建名为test的文件
    touch test
    # 创建一个名为file.txt的文件
    touch test.txt
    
    • 1
    • 2
    • 3
    • 4

    复制文件

    # 复制test的文件到mydir目录中
    cp test /home/mydir
    
    • 1
    • 2

    删除文件

    # 删除test文件
    rm test
    # 忽略提示删除test文件
    rm -f test
    
    • 1
    • 2
    • 3
    • 4

    移动文件

    # 将test文件移动到mydir目录下
    mv test mydir
    
    • 1
    • 2

    重命名文件

    # 将test改名为myfile
    mv test myfile
    
    # 将后缀为.txt改名为以 .c 为后缀的文件,'.'需要加'\'
    rename 's/\.txt/\.c/' *.txt
    
    • 1
    • 2
    • 3
    • 4
    • 5

    查看文件

    # 查看test文件
    cat test
    # 查看test文件,-n显示行号
    cat -n test
    
    # 百分比显示查看文件
    more test
    
    # 翻页查看
    less test
    
    # 查看文件的第一行,-n接行数
    tail -n 1 test
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    查看文件的类型

    # Linux中根据内容识别类型,而不是后缀,无内容为空文件
    file test.txt
    
    • 1
    • 2

    编辑文件

    # 使用vim编辑器编辑文件
    vim test.txt
    
    • 1
    • 2

    打印文件内容

    cat filename
    
    • 1

    变更文件所有者

    #切换到 lilei 用户,然后在 /home/lilei 目录新建一个文件,命名为 test
    su - lilei
    pwd
    touch test
    # 显示文件大小,并以普通人类能看懂的方式呈现
    ls -alh test
    
    
    # 变更文件test所有者为zhangsan
    sudo chowm zhangsan test
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    修改文件权限

    # r w x(读、写、执行) -> r*2^2 + w*2^1 + x*2^0
    # 666->读、写、不执行
    # 777->读、写、执行
    # 修改为读写,不具有执行权限 rw-rw-rw=666
    chmod 666 file
    
    • 1
    • 2
    • 3
    • 4
    • 5

    3. 用户管理

    查看当前用户

    who am i
    
    • 1

    创建用户

    # 创建一个叫lilei的用户
    sudo adduser lilei
    
    • 1
    • 2

    删除用户

    # 删除用户及其工作目录
    sudo deluser lilei --remove-home
    
    • 1
    • 2

    切换登录用户

    # 切换到root用户,原来路径
    su
    # 切换到root用户,root路径
    su -
    
    # 切换到用户lilei
    su -l lilei
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    用户权限

    # sudo授予用户root权限
    su -l lilei
    sudo ls
    
    • 1
    • 2
    • 3

    为用户添加密码

    # 为用户lilei添加密码
    passwd lilei
    
    • 1
    • 2

    修改用户密码

    # 修改root用户密码
    passwd
    
    # 修改用户lilei密码
    passwd lilei
    
    # 锁定用户lilei不能更改密码
    # -l 参数来锁定
    passwd -l lilei
    
    # 清除lilei用户密码
    # 清除一个用户的密码 用参数-d
    passwd -d lilei
    
    # 查询用户lilei密码状态
    passwd -s lilei
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    新建用户组

    # 新建用户组test
    groupadd test
    
    • 1
    • 2

    查看用户组

    # groups命令查看lilei所在用户组
    groups lilei
    
    # 查看用户及分组
    cat /etc/passwd
    
    # 查看现有用户组
    cat /etc/groups
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    修改用户组

    # 修改用户组名group1为group2
    groupmod -n group1 group2
    
    • 1
    • 2

    设置某个用户所在组

    # -g|--gid,修改用户的gid,该组一定存在
    usermod -g 用户组 用户名
    
    # 把用户添加进入某个组
    # -a|--append,把用户追加到某些组中,仅与-G选项一起使用
    # -G|--groups,把用户追加到某些组中,仅与-a选项一起使用
    usemod -a -G 用户组 用户名
    
    # 使用 usermod 命令可以为用户添加用户组
    groups lilei
    # 将lilei添加到sudo用户组
    sudo usermod -G sudo lilei
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    删除用户组

    # 使用groupdel删除用户组
    # root用户或具有sudo权限的用户执行
    sudo groupdel group_name
    
    • 1
    • 2
    • 3

    4. 压缩/解压工具

    压缩包文件格式

    Windows: *.zip*.7z

    Linux: *.zip*.7z**.rar*.gz*.xz*.bz2*.tar等等

    zip压缩文件

    # 使用zip打包文件夹test
    # -r为递归打包包含子目录的全部内容,-q为安静模式,-o表示输出文件
    cd /home/test
    zip -r -q -o test.zip /home/mydir
    
    # -e参数加密压缩
    zip -r -e -o test.zip /home/mydir
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    unzip解压缩文件

    # 解压到当前目录
    unzip test.zip
    
    # -q安静模式,解压到指定目录
    unzip -q test.zip -d mydir
    
    # 不解压只查看压缩包的内容
    unzip -l test.zip
    
    # 解压中文压缩包
    unzip -O GBK 中文压缩文件.zip
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    tar打包工具

    tar压缩

    # 打包test文件
    # -P:保留绝对路径
    # -c:创建一个tar包
    # -f:指定创建文件名
    cd /home/test
    tar -P -cf test.tar /home/mydir
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    tar解压

    # 解包一个文件(-x参数)到指定路径的已存在目录(-C参数)
    mkdir mydir
    tar -xf test.tar -C mydir
    
    # -t参数,只查看不解包
    tar -tf test.tar
    
    # 解压*.tar.gz文件,-z参数
    tar -xzf test.tar.gz
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    5. 环境变量与文件查找

    5.1 环境变量

    环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。

    查看PATH环境变量内容

    echo $PATH
    
    • 1

    添加自定义路径到"PATH"环境变量,如果使用的环境的Shell 是 Bash,则配置文件为 .bashrc

    # 查看当前系统已安装的 Shell
    cat /etc/shells
    
    • 1
    • 2

    添加环境变量

    # 使用下面命令直接添加内容到 `.bashrc` 中
    # > 以覆盖的方式重定向到一个文件中
    # >> 将标准输出以追加的方式重定向到一个文件中
    echo "PATH=$PATH:/home/shiyanlou/mybin" >> .zshrc
    
    • 1
    • 2
    • 3
    • 4

    修改和删除环境变量

    # ${变量名%匹配字串} 从尾向前开始匹配,删除符合匹配字串的最短数据
    mypath=$PATH
    echo $mypath
    mypath=${mypath%/home/lilei/mybin}
    
    # 或者使用通配符,*表示任意多个字符
    mypath=${mypath%*/mybin}
    
    # 删除一个环境变量
    unset mypath
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    使环境变量立即生效

    cd /home/lilei
    source .bashrc
    
    # 或者 source 别名 .
    . ./.bashrc
    
    • 1
    • 2
    • 3
    • 4
    • 5

    5.2 文件查找

    相关命令whereiswhichfindlocate

    # 寻找find所在路径
    whereis find
    
    # 寻找ping程序的位置
    which ping
    
    # 寻找/etc/下名为interfaces的文件或目录,(sudo增加访问权限)
    sudo find /etc/ -name interfaces
    
    # 查找/etc下所有以sh开头的文件
    locate /etc/sh
    # 查找/usr/share/下所有jpg文件
    locate /usr/share/*.jpg
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    6. 磁盘管理

    查看磁盘和目录容量

    # 查看磁盘容量
    df
    # '-h'参数,以人类可读格式展示
    df-h
    
    # 查看目录容量
    du
    # '-h'参数,以人类可读格式展示
    du -h
    # '-d'参数,查看目录的深度
    # 1级目录
    du -h -d 0 ~
    # 2级目录
    du -h -d 1 ~
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    查看内存使用情况

    free -h
    
    • 1

    磁盘分区情况

    fdisk
    
    • 1

    创建虚拟磁盘

    # 使用 dd 命令创建虚拟镜像文件
    # if:输入文件
    # of:输出文件
    # bs:指定块大小
    # count:指定块数量
    # 从/dev/zero设备创建一个容量为256M的空文件
    dd if=/dev/zero of=virtual.img bs=1M count=256
    du -h virtual.img
    
    # 使用mkfs命令格式化磁盘
    sudo mkfs.exit virtual.img
    
    # 使用mount命令挂载磁盘到目录树
    # mount [options] [source] [directory]
    sudo mount
    mount -o loop -t ext4 virtual.img /mnt
    
    # 查看硬盘分区表信息
    sudo fdisk -l
    # 使用fdisk为磁盘分区
    sudo fdisk virtual.img
    
    # 使用 losetup 命令建立镜像与回环设备的关联
    sudo losetup /dev/loop0 virtual.img
    
    # 使用 mkfs 格式化各分区
    # 先安装kpartx工具
    sudo apt-get install kpartx
    sudo kpartx -av /dev/loop0
    # 格式化,我们将其全部格式化为 ext4
    sudo mkfs.ext4 -q /dev/mapper/loop0p1
    sudo mkfs.ext4 -q /dev/mapper/loop0p5
    sudo mkfs.ext4 -q /dev/mapper/loop0p6
    
    # 格式化完成后在 /media 目录下新建四个空目录用于挂载虚拟磁盘
    mkdir -p /media/virtualdisk_{1..3}
    
    # 挂载磁盘分区
    sudo mount /dev/mapper/loop0p1 /media/virtualdisk_1
    sudo mount /dev/mapper/loop0p5 /media/virtualdisk_2
    sudo mount /dev/mapper/loop0p6 /media/virtualdisk_3
    
    # 查看
    df -h
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44

    7. 帮助命令

    helpmaninfo命令

    # 简要帮助信息
    ls --help
    
    # 更为详细的帮助信息
    man ls
    
    # 完整帮助信息
    info ls
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    8. 任务计划

    添加计划

    # 启动crontab
    sudo cron -f &
    crontab -e
    
    # 可选择vim添加命令
    # *  *  *  *  * command
    # 分 时 日  月  周 命令
    # 第1列为分:用*或者*/1表示
    # 第5列为周:0~6,0表示星期天
    
    # 每分钟执行date命令
    */1 * * * * date >> root/date.txt
    
    # 每周三、周日的2 : 30重启apache。 
    30 2 * * 3,0 service httpd restart
    
    # 在/home/mydir目录下每分钟创建一个以年月日时分秒为名字的空白文件
    */1 * * * * touch /home/mydir/$(date + \%Y\%m\%d\%H\%M\%S)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    查看计划

    crontab -l
    
    • 1

    监测计划

    ps aux | grep cron
    
    • 1

    删除计划

    crontab -r
    
    • 1

    9. 命令执行顺序

    顺序执行 ;

    sudo apt-get update;sudo apt-get install some-tool
    
    • 1

    选择性执行&&,前面命令执行结果返回0则执行后面的

    which cowsay>/dev/null && cowsay -f head-in ohch~
    
    • 1

    ||前面命令执行结果不为0才执行后面的

    which cowsay>/dev/null || echo "cowsay has not been install"
    
    • 1

    10. 管道过滤

    cut命令

    # 打印 /etc/passwd 文件中以 : 为分隔符的第 1 个字段和第 6 个字段分别表示用户名和其家目录
    cut /etc/passwd -d ':' -f 1,6
    
    # 打印/etc/passwd文件中每一行的前N个字符
    # 前五个(包含第五个)
    cut /etc/passwd -c -5
    # 前五个之后的(包含第五个)
    cut /etc/passwd -c 5-
    # 第五个
    cut /etc/passwd -c 5
    # 2 到 5 之间的(包含第五个)
    cut /etc/passwd -c 2-5
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    grep命令,在文本中查找匹配字符串

    # 搜索/home/shiyanlou目录下所有包含"shiyanlou"的文本文件
    # 并显示出现在文本中的行号
    # -r:递归搜索子目录
    # -n:打印匹配项行号
    # -I:忽略二进制文件
    grep -rnI "shiyanlou" ~
    
    # 查找指定ssh服务进程
    ps -ef | grep sshd
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    wc命令,计数工具

    # 显示/etc/passwd中的行数
    wc -l /etc/passwd
    # 单词数
    wc -w /etc/passwd
    # 字节数
    wc -c /etc/passwd
    # 字符数
    wc -m /etc/passwd
    # 最长行字节数
    wc -L /etc/passwd
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    sort排序命令

    # 默认为字典排序
    cat /etc/passwd | sort
    
    # 按特定字段排序
    # -t参数,指定分割符为':'
    # -k参数:字段号,指定对哪个字段进行排序
    cat /etc/passwd | sort -t ':' -k 3
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    uniq去重命令

    uniq
    
    • 1

    11. 进程管理

    查看系统关键信息

    top
    
    • 1

    所有进程信息

    ps aux 
    
    • 1

    查看占用CPU最多的进程

    ps aux --sort=-%cpu | head
    
    • 1

    进程相关性

    pstree
    # -u:同时列出每个 process 的所属账户名称
    # -p:同时列出每个 process 的 PID
    pstree -up
    
    • 1
    • 2
    • 3
    • 4

    结束进程

    # 使用 9 这个信号强制结束 gedit 进程
    # kill pid-> pid:进程号
    kill -9 1608
    
    • 1
    • 2
    • 3

    12. 软件安装

    软件安装

    # 安装w3m(命令行简易网页浏览器)
    sudo apt-get install w3m -y
    # 重新安装w3m
    sudo apt-get --reinstall install w3m -y
    
    • 1
    • 2
    • 3
    • 4

    软件升级

    # 更新软件源
    sudo apt-get update
    
    # 升级没有依赖问题的软件包
    sudo apt-get upgrade
    
    # 升级并解决依赖关系
    sudo apt-get dist-update
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    软件卸载

    # 卸载w3m
    sudo apt-get remove w3m
    
    • 1
    • 2

    软件搜索

    # 搜索w3m
    sudo apt-get search w3m
    
    • 1
    • 2

    使用dbkg本地安装deb软件包

    # 使用dpkg安装
    sudo dpkg -i emacs24_24.5+16ubuntu1.1_amd64.deb
    
    # 解决本地安装包的依赖关系
    sudo apt-get update
    sudo apt-get -f install -y
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    查看已安装软件包的安装目录

    sudo dpkg -L emacs24
    
    • 1

    13. 日志系统

    # 日志一般存放在 /var/log
    ll /var/log
    
    # 查看日志
    sudo cat /var/log/apt/history.log
    
    # 删除日志
    sudo rm /var/log/apt/history.log
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    14. 查看系统各种信息

    系统基本信息

    uname
    
    • 1

    CPU详细信息

    lscpu
    
    • 1

    内存使用情况

    free
    
    • 1

    系统实时进程状态

    top
    
    • 1

    网络接口信息

    ipconfig
    
    • 1

    网络连接相关信息

    netstat
    
    • 1

    磁盘分区信息

    fdisk
    
    • 1

    磁盘使用情况

    # '-h'参数,以人类可读形式
    df -h
    
    • 1
    • 2

    系统主机名等信息

    hostnamectl
    
    • 1

    15. 关机重启

    关机

    # 立刻关机
    shutdown -h now
    
    # 5分钟后关机
    shutdown -h 5
    
    # 立刻关机
    poweroff
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    重启

    # 立刻重启
    shutdown -r now
    
    # 5分钟后重启
    shutdown -r 5
    
    # 立刻重启
    reboot
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    清屏

    # ctrl + l
    
    • 1

    16. 服务器为Linux系统

    登录服务器

    # 用户名@服务器IP地址或主机名
    ssh username@server_ip_address
    
    # '-p'参数指定端口号
    ssh -p 2222 admin@192.168.0.1
    
    • 1
    • 2
    • 3
    • 4
    • 5

    查看服务器信息,如果用的是NVIDIA的GPU

    nvidia-smi
    
    • 1

    16.1 本地与Linux互传文件

    16.1.1 lrzsz程序

    使用xshell软件ssh,上传本地文件到服务器

    # 选择本地文件上传到服务器
    rz 
    
    # 如果没有则安装lrzsz
    yum -y install lrzsz
    
    # 检查是否安装成功
    rpm -qa lrzsz
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    16.1.2 scp命令

    cmd打开本地命令行

    将本地文件上传到Linux

    # 选择本地文件上传到服务器
    # 远程主机用户名@ip:需要上传到主机的路径
    scp /User/pc/Desktop/test.png root@192.169.1.1:/root
    
    # 上传本地文件夹
    scp -r /Users/pc/Desktop/test root@192.168.1.1:/root
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    将服务器上的文件传输到本地

    # scp 远程主机用户名@ip:服务器上存放文件的路径 下载到本地的文件路径
    scp root@192.168.1.1:/root/test.png /user/pc/Desktop
    
    # 传输服务器的文件夹
    scp -r root@192.168.1.1:/root/test /Users/mac/Desktop
    
    • 1
    • 2
    • 3
    • 4
    • 5
    16.1.3 sftp命令

    cmd打开本地命令行

    将本地文件/文件夹上传到Linux

    # 1、建立sftp连接,sftp 用户名@服务器IP地址
    sftp username@ip
    
    # 2、查看本地路径
    lpwd
    # 显示远端路径
    pwd
    
    # 3、本地上传文件到服务器
    # put 本地文件路径 目的主机路径
    put D:/text.txt /home/test/
    
    # 将本地的D:/目录下面的text.txt文件上传到远程服务器的/home/test目录下
    sftp> lcd D:/
    sftp> cd /home/test
    sftp> put text.txt
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    下载服务器文件/文件夹到本地

    # 建立sftp连接,sftp 用户名@服务器IP地址
    sftp username@ip
    
    # 将远程服务器的/home/test目录下面的log文件夹下载到本地服务器的D:/test目录下
    # get 远程路径/文件名 本地路径
    sftp> cd /home/test
    sftp> lcd D:/test
    sftp> get -r log
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    16.1.4 xftp软件
    1. 打开软件,新建会话
    2. 输入名称,主机选择,选择sftp协议,端口22
    3. 用户名和密码连接
    4. 左右拖动文件实现文件互传

    17. Linux相关

    17.1 Linux快捷键

    复制:ctrl + shift + c

    粘贴:ctrl + shift + v

    中断运行程序:Ctrl + c

    退出当前shell命令行,如果是切换过来的用户,则执行这个命令回退到原用户:Ctrl + d

    17.2 CMAKE

    17.2.1 安装cmake

    1、下载cmake包,输入指令解压缩

    sudo tar -zxvf cmake-3.8.2.tar.gz
    
    • 1

    2、进入解压缩的后的文件夹

    sudo ./bootstrap
    sudo make
    sudo make install
    
    • 1
    • 2
    • 3

    3、查看是否安装成功

    cmake --version
    
    • 1
    17.2.2 使用cmake

    1、新建目录hello, 依次创建文件main.c, CMakeLists.txt, build目录

    2、main.c文件代码如下

    #include 
    
    int main(void){
        printf("Hello\n");
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    3、CMakeLists.txt 文件代码如下

    CMAKE_MINIMUM_REQUIRED(VERSION 3.8) #cmake最低版本需求,不加入此行会受到警告信息
    
    PROJECT(HELLO) #项目名称  
    
    AUX_SOURCE_DIRECTORY(. SRC_LIST) #把当前目录(.)下所有源代码文件和头文件加入变量SRC_LIST
    
    ADD_EXECUTABLE(hello ${SRC_LIST}) #生成应用程序 hello (在windows下会自动生成hello.exe)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    4、进入build目录

    cmake ..
    make
    ./hello
    
    • 1
    • 2
    • 3

    18. 深度学习相关

    Anaconda软件

    查看当前已有环境

    conda info -e
    
    • 1

    创建环境

    conda create -n name python=3.5
    
    • 1

    激活环境

    # 激活环境
    source activate name
    # 或者
    activate name
    
    • 1
    • 2
    • 3
    • 4

    查看已有库和安装新库

    # 查看已有库和安装新库
    conda list
    conda install numpy
    
    • 1
    • 2
    • 3

    退出当前环境

    conda deactivate
    
    • 1

    删除已创建的环境

    # name可以通过conda info e-查看
    conda remove -n name  
    
    • 1
    • 2

    cmake-3.8.2.tar.gz

    
    2、进入解压缩的后的文件夹
    
    ```shell
    sudo ./bootstrap
    sudo make
    sudo make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    3、查看是否安装成功

    cmake --version
    
    • 1
    17.2.2 使用cmake

    1、新建目录hello, 依次创建文件main.c, CMakeLists.txt, build目录

    2、main.c文件代码如下

    #include 
    
    int main(void){
        printf("Hello\n");
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    3、CMakeLists.txt 文件代码如下

    CMAKE_MINIMUM_REQUIRED(VERSION 3.8) #cmake最低版本需求,不加入此行会受到警告信息
    
    PROJECT(HELLO) #项目名称  
    
    AUX_SOURCE_DIRECTORY(. SRC_LIST) #把当前目录(.)下所有源代码文件和头文件加入变量SRC_LIST
    
    ADD_EXECUTABLE(hello ${SRC_LIST}) #生成应用程序 hello (在windows下会自动生成hello.exe)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    4、进入build目录

    cmake ..
    make
    ./hello
    
    • 1
    • 2
    • 3

    18. 深度学习相关

    Anaconda软件

    查看当前已有环境

    conda info -e
    
    • 1

    创建环境

    conda create -n name python=3.5
    
    • 1

    激活环境

    # 激活环境
    source activate name
    # 或者
    activate name
    
    • 1
    • 2
    • 3
    • 4

    查看已有库和安装新库

    # 查看已有库和安装新库
    conda list
    conda install numpy
    
    • 1
    • 2
    • 3

    退出当前环境

    conda deactivate
    
    • 1

    删除已创建的环境

    # name可以通过conda info e-查看
    conda remove -n name  
    
    • 1
    • 2
  • 相关阅读:
    LabVIEW为什么不能在RT机箱内看到NI-IMAQ设备
    听GPT 讲Rust源代码--library/std(2)
    Hadoop (十五) --------- Hadoop 数据压缩
    cookie、session、token的区别
    政安晨【示例演绎虚拟世界开发】(二):Cocos Creator 配置工作环境并运行脚本
    云服务器使用及Linux基本命令
    iOS小技能:RSA签名算法和加密算法的实现
    TikTok营销指南 分享TikTok电商商家成功变现的5个技巧
    NetApp EF 系列全闪存阵列——性能极佳,性价比优势突出
    八种十倍提升API性能的方式
  • 原文地址:https://blog.csdn.net/qq_38473254/article/details/133964015