基础的Linux命令
来源:互联网 发布:人大金融硕士毕业知乎 编辑:程序博客网 时间:2024/06/05 03:12
Linux基础
1Linux文件夹结构 /bin //二进制文件目录 /sbin //二进制文件目录 /dev //device,设备目录,光驱,磁盘,分区... /etc //配置文件目录 /lib //库文件,共享对象文件(so---shared object,等价于dll文件) /home //主(家)目录,/home/ubuntu /home/ubuntu2,... /media /ant /opt /root //root用户的主目录(家目录) /user //user用户 /user/bin //可执行文件 /user/sbin //可执行文件 /user/local // /user/local/bin // /user/local/sbin //2Linux基本操作 Linux cd //改变目录 ls //列出目录 ls -al //列表方式列出目录 -h:人性化可读 -a:显示全部文件(.xxx) -l:列表展示 clear //清屏 xxx --help | -h //查看帮助 man ls //查看帮助 info ls //查看帮助 ls -al | more // | 管道符 空格键是翻屏 //q 退出 //.开头的文件(夹),等价于隐藏文件 ping www.baidu.com whoami //查询当前的用户 which //查询可执行的地址 which cp echo $PATH //linux 区分大小写,windows 不区分 cd ~ //回到主目录 pwd //显示当前目录 sudo passwd //切换用户 //输入ubuntu密码 //再输入root密码 //确认root密码 su root //切换用户 ifconfig //查看ip地址 ping www.baidu.com//ping 网络 find . | grep a //查看当前文件夹下的目录结构 mkdir -p a/b/c //创建多层目录 rm -rf //递归强制删除 r 递归 f强制 touch a.txt //创建空文件 echo helloworld > a.txt //覆盖模式 echo helloworld >> a.txt //追加模式 cat a.txt //直接查看文件内容 nano编辑器 1. nano hello.txt 2. ctrl+o //保存 3. ctrl+x //退出 4. ctrl+k //剪切一行 5. ctrl+u //复制一行 cp hello.txt b/c/d //复制文件 cp hello.txt b/c/d/a.txt //复制文件 制定名称 cp -R xxx ../ //复制目录到制定位置(递归) mv a aa //同一目录下移动就是重命名 mv a ../aa //不同目录下是移动操作 head -3 hello.txt //显示开头n行数据 tail -3 hello.txt //显示末尾n行数据 hostname //查看主机名 //配置文件 /etc/hostname //su root //nano echo > 重启 sudo reboot //重启 sudo shutdown -P now //关机,关电源 -r 重启 reboot sudo halt -p //关机关电源 uname -a //查看系统内核信息 file a.txt //查看文件类型 file /lib/xx.so.0.0.0//共享文件===dll文件 tar -c -f -v -x //-c create 创建归档文件 // -f 文件 指定文件名称 // -v verbose 详细信息 显示详细信息 //对a.txt hello.txt a归档成1.tar tar -cvf 1.tar a.txt hello.txt a //对wangpeng.tar 解归档 tar -xvf wangpeng.tar // -x extract 从归档文件抽取,解档 // -z 通过gzip进行过滤 tar -tf wangpeng.tar //-t查看归档文件的内容 tar -rf wangpeng.tar xxx //-r将xxx文件追加到tar中 gzip -1 mytar.tar //原地压缩 时间优先 gzip -9 mytar.tar //原地压缩 空间优先 tar -zxvf mytar.tar.gz //解压并解档文件 gunzip mytar.tar.gz //解压缩文件 = gzip -d `xargs`:反引号包括起来的内容不是普通的字符串 而是一个命令 find . | grep txt | cp `xargs` def //查找所有的文件并过滤剩下txt作为输入并复制到def文件中 //xargs作用 将过滤剩下的txt文由竖形排列到横向并加空格排列 `` //命令的嵌套 例: echo `hostname` mount //挂载外设 mount /dev/cdrom /mnt/cdrom //挂载光驱到/mnt/cdrom下 unmount /dev/cdrom //解除挂载
权限 owner 主人 group 组,linux用户隶属于组, 可以隶属于多个组,但是只能够隶属于一个primary group 首要组 可以隶属于多个secondary group 从属族 other all = owner + group + other l rwx rwx rwx 1 root root 29 Nov 11 03:58 //第一个字母表示文件的类型 111 111 111 如果有权限就是1 000 000 000 如果没有权限就是0 r:read 读 文件:查看文件内容 文件夹:查看文件夹包含的资源 w:write 写 文件:修改文件内容 文件夹:创建文件和删除文件 x:execute 执行 文件:可执行 文件夹:是否可以进入文件夹 d directory目录 l link 链接 - file 文件 b block 块设备
linux链接文件 1 硬链接(hard link):实时同步 默认创建的链接是硬链接 两个完全相同的文件,占用两倍的磁盘空间.两者实时同步.删除的时候 删除一个文件 另外一个不删除 2 符号链接(symblic link 符号链接) 相当于快捷方式,不会占用过多的磁盘空间 如果源文件删除,链接失效(不意味着删除,红色) 3 创建链接(硬链接) ln hello.txt hello.txt.ln //给hello.txt创建一个链接 默认硬链接 //硬链接文件也是普通文件 用作备份很方便 删除的时候 另外一个并不删除 4 创建链接(符号链接) ln -s hello.txt hello.txt.ln 5 grep 特殊字符需要转义 ls -al | grep "\->" 过滤特殊字符
jobs 查看后台作业
查看进程信息 ps //process show 进程显示 ps -Af //-A全部进程 -f输出格式 full全部 杀死进程
剪切 对每行输出进行剪切处理 cut -c(按照字符) 1-3 hello.txt //对hello.txt文档剪切每一行的前三个字符 ps -Af | cut -c 50- | more
磁盘命令 查看磁盘信息,分区 sudo fdisk -l /dev/sda(磁盘) //查看sda磁盘 sda1 sda3 sda5是磁盘sda的分区 df //disk free 查看磁盘使用情况
dirname 查看文件(夹)所在目录 dirname /home basename 输出文件的基本名称(去除目录的部分) basename /home/ubuntu/hello.txt //输出hello.txt basename /home/ubuntu/hello.txt .txt //输出hello echo $(hostname) 类似于echo `hostname` 都是进行动态命令执行的
cd -P myBin //到链接的物理路径上 cd - //后退 cd -5 //后退5步 echo $evn_name //输出环境变量 echo ${evn_name} //输出环境变量 echo $"evn_name" //输出环境变量 export mypath=/home/ubuntu //导入环境变量 只在当前会话中有效 path环境变量 windows 使用;分割 linux使用:分割
help export //查看Linux内置的命令 if rm -b.txt;then echo ok ;else echo erro;fi
Linux内置变量的访问方式 1 $? 返回刚刚执行命令的结果,0 成功 !0失败 ls echo $? 2 $# 获取参数的个数 rm -r bin //$# = 2 3 $n 获取第几个参数 $0 //命令本身 $1 //第一个参数,rm -r bin $1= -r $@ //得到所有参数 rm -r bin//$@=-r bin 4 shift 向左移动参数 左边的参数被覆盖掉
1 a&&b a成功执行后,再执行b命令 a||b a执行失败后,再执行b命令 a;b a执行后,再执行b,没有成功失败的约束条件 a ; b //切换目录 (a;b) 同上 但是不切换目录 (a;b) //不切换目录
NetCat 瑞士军刀 1 TCP/IP transfer control protocal 传输控制协议 internet protocal 网络协议 2 Socket编程 ServerSocket服务器端 //server listenner监听器 port端口 Socket 客户端 //connection 链接 port端口 3 命令 nc -l 8888 开启服务器端套接字ServerSocket l(监听) 在本地启动一个ServerSocket进程 ctrl + z 放置于后台 jobs 查看后台作业 kill + %+编号 杀死后台作业 kill %1 //杀死后台编号为1的作业 nc -l 8888 & 开启服务器端套接字ServerSocket &表示将改进程放到后台执行 nc ip + 端口 nc localhost 8888 启动客户端,连接到服务器端口8888 fg %1 转换到前台 ctrl + d 结束(两端进程都终止了) 4 文件传输 nc -l 1234 > read.txt //重定向输出数据到文件中而不是标准输出到控制台 nc localhost 1234 < read.txt //重定向输入
命令前后台切换 1.启动命令时直接放到后台 nc -1 8888 & &符号直接后台启动 2.将当前进程暂定并放入后台 变成作业(job)了 ctrl+z jobs 查看后台所有运行的作业 只需要它的作业编号 3.将后台作业job激活,并在后台运行 bg (background) %n (作业编号) 4.将后台作业切回前台运行 fg (foreground) %n (作业编号)
增减新用户 1 useradd 是底层添加用户的命令.推荐用adduser添加用户 2 addUser 通过adduser添加用户 adduser --home /home/ubuntu2 --gid 1000 ubuntu2 //ubuntu的组的id 1000
apt advanced package tookit,高级包管理工具 1 apt-get update //更新软件包列表 upgrade //升级 install //安装 remove //删除 purge //删除软件和配置文件 2 apt-cache apt-cache search jdk 3 更新ubuntu:的仓库源 在etc/apt/source.list文件中配置了ubuntu官方的仓库源 修改为网易的仓库源 deb http://mirrors.163.com/ubuntu/ precise main restricted deb-src http://mirrors.163.com/ubuntu/ precise main restricted deb http://mirrors.163.com/ubuntu/ precise-updates main restricted deb-src http://mirrors.163.com/ubuntu/ precise-updates main restricted deb http://mirrors.163.com/ubuntu/ precise universe deb-src http://mirrors.163.com/ubuntu/ precise universe deb http://mirrors.163.com/ubuntu/ precise-updates universe deb-src http://mirrors.163.com/ubuntu/ precise-updates universe deb http://mirrors.163.com/ubuntu/ precise multiverse deb-src http://mirrors.163.com/ubuntu/ precise multiverse deb http://mirrors.163.com/ubuntu/ precise-updates multiverse deb-src http://mirrors.163.com/ubuntu/ precise-updates multiverse deb http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ precise-security main restricted deb-src http://mirrors.163.com/ubuntu/ precise-security main restricted deb http://mirrors.163.com/ubuntu/ precise-security universe deb-src http://mirrors.163.com/ubuntu/ precise-security universe deb http://mirrors.163.com/ubuntu/ precise-security multiverse deb-src http://mirrors.163.com/ubuntu/ precise-security multiverse deb http://extras.ubuntu.com/ubuntu precise main deb-src http://extras.ubuntu.com/ubuntu precise main 4 更新软件包列表 sudo apt-get update 5 升级软件包 sudo apt-get upgrade 6 搜索软件 sudo apt-cache search desktop
增强VMware 宿主机和客户机文件共享 1编辑客户机的设置 虚拟机->虚拟机设置-->选项-->共享文件夹 2进入客户机的/mnt/hgfs查看共享的文件夹
————————————————————
dpkg
1直接安装.deb软件包 Dpkg -i(install) gedit-4-xx.deb 2 通过which查看是否安装成功 Which gedit 3 卸载软件包 Sudo dpkg –remove gedit
Dpkg-query
1 查看本地安装的软件包 Suod dpkg-query –list | grep gedit
克隆客户机(省)Ubuntu网络连接的形式1 桥接 模拟成一台物理主机2 NAT Net address transform 网路地址转换3 Only-host
设置客户机为静态ip1 查看NAT的网关 网络地址编辑器?NAT-->NAT设置…?查看网关(192.168.231.2)2 查看网段 网络地址编辑器?NAT?DHCP设置…?起始网段(192.168.231.100),结束ip(192.168.231.254)3 条选一个IP 192.168.231.1004 编辑ubuntu的网络配置文件 (/etc/network/interface)5 重启网络服务 Sudo /etc/init.d/networking restart6通过ping
If + for shell编程
#!/bin/bashif [[ $# -lt 1 ]] ;then echo noparams ; exit ; fi for a in "$@"; do echo $a> ${a}.txt ; doneLinux 脚本 test.sh#!/bin/bash$# //取出参数的个数For a in “$@” ; do echo $a>${a}.txt;done //$@取出所有的参数 //For a = For a in “$@”
for循环0.查看帮助 help for 1语法一 for NAME [in WORDS …] ; do COMMANDS; done [例如] For a in 1 2 3 4 ; do echo $a ; done2语法二 [语法]for (( exp1; exp2; exp3 )); do COMMANDS; done [例子]for (( a=1; a<=10; a= a+1 ));do echo $a; done
while循环 1语法 (( EXP1 )) while (( EXP2 )); do COMMANDS (( EXP3 )) done 2用while循环对应10个数字 #!/bin/bash (( a=1 )) while (( a<=10 )); do echo $a (( a=a+1 )) done 3用while循环打印所有的参数 #!/bin/bash (( count = $# )) (( a=1 )) while (( a<=count )); do echo $1 shift ; (( a=a+1 )) done
阅读全文
0 0
- 基础的Linux命令
- linux的基础命令
- Linux的基础命令
- linux的基础命令
- Linux的基础命令
- 基础的Linux命令
- linux简单的基础命令
- 常用的基础 linux命令
- 关于linux的基础命令
- linux最基础的命令
- linux的一些基础命令
- linux 的一些基础命令
- 基础的Linux操作命令
- Linux 一些基础的命令
- 【Linux】Linux基础命令
- 基础的Linux命令的用法
- 本人常用的基础 linux命令
- Linux基础-TCPDUMP命令的使用
- 机器学习_RNN/长期依赖/LSTM
- Java集合框架3(泛型集合)
- 201609-2 火车购票
- Android studio 混淆打包安装后报错NullPointerException int java.util.List.size()
- JavaScript判断是PC端还是手机端
- 基础的Linux命令
- 如何看待当今多种多样的数据库
- 经典的几种排序方式
- python里面的xlrd模块
- JavaWeb核心-servlet
- JAVA | 40
- WEB页面_页面分页加筛选条件,显示列表信息(将分页信息和筛选信息一起提交)
- 信息安全概论总结-6
- AndroidStudio遇到的java.util.concurrent.ExecutionException:com.android.ide.common.process.ProcessExce问题