当前位置: 代码迷 >> 综合 >> Linux ssh基本操作
  详细解决方案

Linux ssh基本操作

热度:20   发布时间:2023-10-31 17:38:03.0

Linux操作命令:

1: mkdir: 创建目录

2: mount/unmount 挂载硬盘到指定路径/卸载指定路径的硬盘

3: ls: 显示当前目录信息...ls -l 获取执行权限

4: find: 在磁盘中查找文件

5: grep: 在一堆文件中查找字符串所在路径 grep -m "main"...grep "main" -r 路径

6: cd: 进入目录

7: cp,mv: 复制,移动 -rf文件夹包括子文件

8: rm: rm -rf c...删除指定c文件夹  rm c...删除指定c文件  rm $(find ./ -name "*.c")...删除查找的所有.c文件

9: pwd: 获取当前所在目录

10: fdisk: 查看所有盘符

11: 绝对路径: /(根目录开始)...相对路径(./../)

12: $保存结果到变量...*模糊查找

13: vim a: 追加 esc:shift+:w保存 q退出...shift+set number显示行号...shift+: /aaa查找aaa位置

14: cat:打印文本内容

15: gcc -c main.c编译生成main.o...gcc main.o生成main.out... ./a.out执行

      gcc main.c 编译成a.out

      gcc main.o/main.c -o main.exe生成main.exe

      g++ main.c -o main++生成main++... ./main++执行

16: ar -r libmain.a main.o

      gcc main.cpp -fPIC/-fpic -shared -o libmain.so

      gcc -o test.exe test.cpp -L. -lmain

      编译出控制台程序乱码时按照控制台编码设置添加以下参数:-fexec-charset=GBK -finput-charset=UTF-8

17:一些常用编译命令

MinGW:
c -> o           gcc -c a.c
c -> exe         gcc a.c libs.o -o a.exe (从主程序a.c,附加libs,生成a.exe)
o -> exe         gcc a.o b.o ... -o main.exe
c -> dll,def,a   gcc a.c -shared -o a.dll -Wl,--output-def,a.def,--out-implib,liba.a
a -> dll           a2dll liba.a
dll -> a:          dlltool --dllname a.dll --def a.def --output-lib liba.a (需要def文件)
a -> def:        dumpbin /exports lib.a > lib.def (在windows上调用,def需要修改)
dll -> def :      pexports a.dll -o > a.def (这里的-o是指给函数标序号)
lib -> def :      reimp -d a.lib
lib -> a:          (for __cdecl functions in most case) reimp a.lib; (for __stdcall functions)MSVC:
c -> lib     cl /LD a.c (注意已经定义了export列表)
c -> dll     cl /LD a.c
c -> obj     cl /c a.c
c -> exe     cl a.c /out:a.exe
dll ->lib   lib /machine:ix86 /def:a.def /out:a.lib (需要def文件)
obj ->lib   lib a.obj b.obj... /out:mylib.lib
dll ->def   DUMPBIN a.dll /EXPORTS /OUT:a.def (生成的def需要做修正)
lib ->def   reimp -d a.lib (这个要在MSYS+MinGW下用)

(一)ssh远程登录&退出

登录命令: ssh 用户名@主机地址

退出命令: exit

(二)ssh上传和下载文件

上传命令: scp -P -r 用户名@主机地址

下载命令: scp -P -r 用户名@主机地址

1. -P 端口号

2. -r 文件为目录在目录前加-r

(三)Makefile

作用: 使用makefile声明编译规则.

Makfile结构:

start: 

定义变量

(target可以有多个,使用make target编译多个target)

target: 依赖

         编译命令

end

写法:

start:

INC_DIR = -I./ -I../ (-I gcc->.h文件包含)

LIB_DIR = -L./ -L../ (-L gcc->.lib文件包含(linux下.a文件))

game_server: ./main.c \

                       ./test.c (依赖之间空格分开, \符号表示换行(原则上不能换行))

        gcc $(INC_DIR) $(LIB_DIR) -std=c99 -g -Wall -o $@ $^ -lxx.a -lxx.a

clean:(clean也是target)

          rm game_server

end

1: -std=c99 编译c代码标准c99, -On: 优化级别(O必须大写, 编译优化, n越大优化越高),

    -w/-Wall/-W: 关闭所有警告/显示所有警告/显示错误警告

2: $@: 所有目标 $^: 所有依赖

3: -l库名字: 连接指定的.a库 (libuv.a库->-luv.a,省略lib)

4: 使用make命令: make game_server(target), make默认是第一个target

5: 运行./game_server