Ubuntu笔记

更改文档权限:sudo chmod 777 file

在目录下查找字符串:grep -rn 'string' ./

第一次设置root帐号:

1
sudo passwd root

登入root:

1
su

退出root:

1
Ctrl + D

更改 tmp 目录所有者,从 root 到 uruir:

1
chown uruir tmp

卸载软件:

1
sudo apt-get autoremove xxx

环境变量:系统和用户。

用户环境变量:

1
2
3
~/.profile
~/.bash_profile or ~/.bash_login
~/.bashrc

系统环境变量:

1
2
3
/etc/environment
/etc/profile
/etc/bash.bashrc

加入环境变量:

1
2
3
4
5
6
7
8
sudo vi /etc/profile
EXPRESS_HOME=/usr/local/lib/node_modules/express
export EXPRESS_HOME
PATH=$PATH:$EXPRESS_HOME/bin
export PATH
CLASSPATH=.:$EXPRESS_HOME/lib
export CLASSPATH
source /etc/profile

判断系统是32位还是64位:

1
2
3
4
5
uname -a  // i686就是32位,64位是x86_64
uname -m // arch
file /sbin/init
All setting -> Details
lscpu

显示目录信息:

1
ls -al /home  // 用参数 al 来显示 home 目录的信息

查询:

1
2
3
4
which ls  // 命令的绝对路径
whereis ls // 更大范围的搜索
whatis ls // 介绍命令
history // 查询已输入的命令

查看硬件信息:

1
2
lscpu
lsblk
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
finger uruir  // 用户信息
who am I // 当前用户是谁
write uruir // 给 uruir 发送消息
du -sh dir // 文件夹大小。s:摘要;h:MB
find . -name filename // 从当前路径开始向下寻找 filename
locate string // 路径里有 string 的所有路径。需要更新数据库--sudo updatedb
cd ~ // 返回上一个路径
mkdir -p path // 递归创建 path 的包含的目录
rmdir dir // 删除目录,必须为空目录才能被删除
rm -r dir // 删除目录和文件
file filename // 文件类型
chown username:groupname file // 更改文件所有者和组
chmod 755 filename // 更改文件权限
od -c filename // 以 ASCII 码显示文件
cat file1 file2 // 一次显示连接起来的两文件,不改变文件内容
head -1 filename // 显示文件前1行
tail -1 filename // 显示文件最后5行
diff file1 file2 // 显示两文件区别
sort filename // 对文件内的行排序
sort -f filename // 忽略大小写排序后显示
sort -u filename // 去重复行排序后显示
uniq filename // 去相邻重复行后显示
wc filename // 统计该文件字符、词和行数
cat filename | cut -c5-7 // 显示文件第 5 到第 7 列!
cat filename | grep xx // 选出 xx
top // 实时更新进程信息
ps // 当前 shell 下的进程(少)
ps -lu username // 该用户的进程(较多)
ps -ajx // 全部进程(全面)
kill %num // 杀死任务
uname -a // 系统信息
df -lh // 硬盘使用情况
sudo fdisk -l // 分区情况
cat /proc/cpuinfo // CPU 信息
free // 内存使用情况
pagesize // 内存页大小(KByte)
ifconfig // 网络信息(含网卡地址)
ifup eth0 // 运行 eth0 接口
ifdown eth0 // 关闭 eth0
iwconfig // 无线网卡信息
netstat // 网络运行状态
host www.baidu.com // 百度的 IP 地址
zip file file1 file2 // 压缩文件
unzip file.zip // 解压

挂载U盘:sudo mount -t vfat /dev/sdd1 /mnt/usb

  • sudo:使用管理员权限
  • mount:挂载外部设备,这是指U盘。外部设备都在/dev目录下
  • -t vfat是参数,我的 U 盘是 fat32 格式的
  • /dev/sdd1:通过cat /proc/partitions查找到新插入的 U 盘的盘符名(即sdd1),所以拼接起来就是/dev/sdd1
  • /mnt/usb:在mnt目录下ls,如果没有usb目录,就mkdir usb创建一个出来目录来

卸载U盘:umount /mnt/usb

端口

打开80端口:nc -lp 80

查看80端口

1
2
3
4
netstat -anp
or
sudo netstat -anp | grep 80
or netstat -ntpl // nupl 看 UDP,p 是进程号,可以用 kill -9 进程号来杀死进程

只允许指定IP访问80端口

1
2
sudo iptables -I INPUT -p TCP --dport 80 -j DROP
sudo iptables -I INPUT -s xxx.xxx.xxx.xxx -p TCP --dport 80 -j ACCEPT

要保存配置!!!

1
service iptables restart

查看iptables是否生效:iptables -L

查看具体端口:lsof -i:80