Lichord

学习笔记

0%

linux常用命令

  • cal 12 2019 日历
  • pwd 显示当前所在文件夹
  • cd / 切换到根目录 也可以切换到别的目录
  • cd .. 退回到下一个文件夹
  • cd 切换到用户主目录
  • ls 当前文件夹下面有什么文件
  • ls -l 当前文件夹下面文件极其详细信息
  • clear清空屏幕
  • mkdir hello创建一个名为hello的文件夹
  • mkdir -p dir1/dir2/dir3/ 使用-p选项可以创建一个路径上所有不存在的目录
  • rmdir hello/ 移除文件夹
  • cp a.txt file.txt 复制a.txt 再生成file.txt
  • cat sym.txt 查看文件所有内容
  • less sym.txt文件太长的时候可以翻页查看,点击q退出这个查看模式
  • diff sym.txt file2.txt 查看两个文件的不同的地方
  • head sum.txt -n 6 看文件前面6行
  • tail sum.txt -n 6 看文件最后面6行
  • wc sym.txt
    • 输出:178 225 1836 sym.txt
    • 表示:sym.txt文件一共178行,有225个单词,1836个字节
  • wc -w sym.txt 看有多少个单词
  • wc -l sym.txt 看有多少行
  • wc -c sym.txt 看有多少字节
  • rm file2.txt 删除文件(慎用)
  • mv file1.txt a.txt 将file1.txt改名成a.txt
  • mv hi.txt bye/将hi.txt移动到bye文件夹下
  • zip program.zip * 将文件夹下所有文件压缩成program.zip
  • zip workspace.zip -r workspace/*把workspace下所有东西做成压缩包,-r表示把文件夹的子文件夹也一层一层打包
  • tar -zcvf file.tar.gz wo/ 压缩wo文件夹
  • tar -zxvf file.tar.gz 解压
  • tar -tvf file.tar 查看tar文件
  • unzip workspace.zip

wget 下载文件

  • wget 网址 //下载这个网址的内容
  • wget 网址 -O newname.tar.gz//下载这个网址的文件并重命名
    1
    2
    3
    $ wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz

    $ wget -O taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701

ping ping一个远程主机,只发5个数据包

1
$ ping -c 5 gmail.com

ifconfig 用于查看和配置Linux系统的网络接口

1
2
3
4
5
#查看所有网络接口及其状态
$ ifconfig -a
#使用up和down命令启动或停止某个接口
$ ifconfig eth0 up
$ ifconfig eth0 down

netstat

1
2
3
4
5
netstat 查看网络连接情况
netstat -i 显示网卡运行情况
netstat -r 查看主句的路由列表

netstat -an 查看当前系统端口使用情况

service

1
2
3
4
5
6
#重启网卡
service network restart
# 关闭网卡
ifdown eth0
#开启网卡
ifup eth0

hostname

1
2
hostname 显示主机名
hostname -i 显示当前主机名的IP

ps命令用于显示正在运行中的进程的信息

1
2
3
4
5
6
7
8
9
10
11
查看当前正在运行的所有进程

$ ps -ef | more
以树状结构显示当前正在运行的进程,H选项表示显示进程的层次结构
$ ps -efH | more

ps aux|grep java
#查看java进程

ps aux
#查看所有进程

kill 终止进程

1
2
3
4
5
6
#kill用于终止一个进程。一般我们会先用ps -ef查找某个进程得到它的进程号,然后再使用kill -9 进程号终止该进程。你还可以使用killall、pkill、xkill来终止进程

$ ps -ef | grep vim
ramesh 7243 7222 9 22:43 pts/2 00:00:00 vim

$ kill -9 7243

date 显示时间

1
2
# 修改系统日期
date -s "01/31/2010 23:59:53"

chmod权限管理:

1
2
3
4
5
linux下的三种不同用户,分别是u,g,o代表作者,小组,其他人;每种用户的权限都有三种r,w,x,分别是可读可写运行

ls -l查看文件或者文件夹的详情时
输出:-rm-r--r--
-开头表示这是文件,d开头的话表示是目录,用户可读可写,小组成员其他人可读
  • chmod u-r hello.txt将作者的权限减去可读
  • chmod u+r hello.txt为作者增加可读权限
  • chmod go-r 小组,其他人都不可读
    1
    2
    3
    4
    5
    6
    7
    8
    9
    权限可以用二进制表示,1有权限,0无权限

    r w x

    1 1 0

    可读可写不可运行,十进制等于6

    chmod 644 hello.txt 作者可读可写,小组,其他人可读

grep 结合正则表达式在文件中查找字符串

  • grep en hello.txt 显示hello.txt里面包含en这个字符串的所有单词。en这个位置可以用其他正则表达式代替
  • grep l* hello.txt查找所有l出现0-n次的单词
  • grep ll* hello.txt查找所有l出现1-n次的单词
  • grep ^H hello.txt查找以H开头的单词
  • grep H.ll hello.txt .表示任意字母
  • grep [Hh].ll hello.txt []里面的H,h任选一个
  • grep [A-Za-z]ill hello.txt 任意字母
  • grep [A-Za-z]ill hello.txt | wc 把输出的所有内容放在wc中进行统计
    • 输出:19 29 224
    • 表示:19行,29个单词,224字符

find

1
2
3
4
5
6
7
8
9
#查找指定文件名的文件(不区分大小写)

$ find -iname "MyProgram.c"
#对找到的文件执行某个命令

$ find -iname "MyProgram.c" -exec md5sum {} \;
#查找home目录下的所有空文件

$ find ~ -empty

export 输出跟字符串oracle匹配的环境变量

1
2
3
4
5
6
7
$ export | grep ORCALE
declare -x ORACLE_BASE="/u01/app/oracle"
declare -x ORACLE_HOME="/u01/app/oracle/product/10.2.0"
declare -x ORACLE_SID="med"
declare -x ORACLE_TERM="xterm"
#设置全局环境变量
$ export ORACLE_HOME=/u01/app/oracle/product/10.2.0

重定向符号 >

ls > 1.txt

将本来会在shell输出的内容,就是当前文件夹下的文件信息,放在1.txt文件中

whatis 显示某个命令的描述信息

1
2
$ whatis ls
ls (1) - list directory contents

whereis

1
2
3
4
5
6
#当你不知道某个命令的位置时可以使用whereis命令,下面使用whereis查找ls的位置
$ whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
#当你想查找某个可执行程序的位置,但这个程序又不在whereis的默认目录下,你可以使用-B选项,并指定目录作为这个选项的参数。下面的命令在/tmp目录下查找lsmk命令
$ whereis -u -B /tmp -f lsmk
lsmk: /tmp/lsmk

uname

uname可以显示一些重要的系统信息,例如内核名称、主机名、内核版本号、处理器类型之类的信息

1
2
$ uname -a
Linux john-laptop 2.6.32-24-generic# 41-Ubuntu SMP Thu Aug 19 01:12:52 UTC 2010 i686 GNU/Linux

vim编辑器

1
2
3
yy 复制一行数据
pp 粘贴
dd 剪切

rpm安装软件包

mysql

1
2
3
4
#连接一个远程数据库,需要输入密码
$ mysql -u root -p -h 192.168.1.2
#连接本地数据库
$ mysql -u root -p

http://gywbd.github.io/posts/2014/8/50-linux-commands.html

https://blog.csdn.net/bieleyang/article/details/76665022

https://www.hollischuang.com/archives/800

https://segmentfault.com/a/1190000015497396