*nix

From Things and Stuff Wiki
Revision as of 04:16, 15 July 2012 by Milk (talk | contribs) (→‎Groups)
Jump to navigation Jump to search


Mainly linux, some unix-like.

  • Vim - Text editor, etc.
  • Git - Distributed version control
  • IRC - Internet Relat Chat
  • Bitlbee - IM

Guides

Dotfiles

System

Boot

File structure

ln -s {target-filename} {symbolic-filename}

Terminals

Basics

Urxvt

tabbed is good, plus tmux.

Screen

config goes in ~/.screenrc

escape ^Ww
  change escape key to w

Tmux

  • tmux - terminal multiplexer

config goes in ~/.tmux.conf

tmux lsc
  list clients

tmux detach-client -t /dev/pts/26
  remove other clients from session (if screensize is fucked)

Misc

Shell

Bash

man: echo

Basics
Options
More

Zsh

lshell

Other

Commands

  • auditd - userspace component to the Linux Auditing System [5]
  • nice - run a program with modified scheduling priority
  • cut - remove sections from each line of files
  • shelr - console screencasting tool

System

  • lsof - "lists open files" (lots, given "everything" is a file)

iostat, vmstat, free

Mount

mount -o remount /
  remount partition after /etc/fstab change

Users

  • /etc/passwd - local user information
    • account:password:UID:GID:GECOS:directory:shell
  • /etc/shadow - restricted access encrypted password file
useradd username
  create user with defaults (no password)
useradd -D
  show defaults that will be used

useradd -m -g [initial_group] -G [additional_groups] -s [login_shell] [username]
  -m - add home dir
  -d - non-default home dir path
  -c comment
  -e 2006-06-30 - expires
useradd -m -g users -G audio,lp,optical,storage,video,wheel,games,power,scanner -s /bin/bash username
adduser
  interactive tool
userdel username
  remove user
userdel -r username
  remove user plus their home folder, mail spool
cat /etc/passwd | cut -d: -f 1,3,6 | grep "[5-9][0-9][0-9]"
  List users on a system [6]

Groups

groupadd [group]
  add group
gpasswd -a [user] [group]
  add user to group
gpasswd -d [user] [group]
  delete user from group

User must relogin for new group to take effect.

Permissions

ACLs

Partition must have acl set in /etc/fstab (and be remounted after).

setfacl -m "u:username:permissions"
setfacl -m "u:uid:permissions"
  add permissions for user

setfacl -m "g:groupname:permissions"
setfacl -m "g:gid:permissions"
  add permissions for group

setfacl -m "u:user:rwx" file
  add read, write, execure perms for user for file
setfacl -Rm "u:user:rw" /dir
  add recursive read, write perms for user for dir
setfacl -Rdm "u:user:rw" /dir
  add recursive read, write perms for user for dir and make them default for future changes

Finding files

find /usr/share -name README
find ~/Journalism -name '*.txt'
find ~/Programming -path '*/src/*.c'

find ~/Images/Screenshots -size +500k -iname '*.jpg'
find ~/Journalism -name '*.txt' -exec cat {} ;
find ~/Journalism -name '*.txt' -print0 | xargs -0 cat   (faster than above)

find / -group [group]
find / -user [user]

http://arstechnica.com/information-technology/2011/07/ask-ars-how-to-use-the-find-command-in-a-pipeline/

  • sgrep - search a file for a structured pattern

Moving files

scp

scp -P 2264 foobar.txt your_username@remotehost.edu:/some/remote/directory
scp -rP 2264 folder your_username@remotehost.edu:/some/remote/directory

Media

Package management

Apt

dpkg --get-selections > installed-software
  create list of installed software

dpkg --set-selections < installed-software
dselect
  reinstall from list

Pacman

pacman -Syu
  upgrade system
pacman -Qo [file]
  check what package owns a file
pacman -Qqtd
  check whether there are any orphaned packages
pacman -Rsn packagename
  remove orphaned packages
  • cacheclean - Cleans up pacman packages. Users selects how many old versions to keep.
cacheclean {-p} {-v} <# of copies to keep>
# of copies to keep - (required) how many generations of each package.
-p - (optional) preview what would be deleted.
-v - (optional) show deleted packages.

Compression

# Extract Files
extract() {
 if [ -f $1 ] ; then
     case $1 in
         *.tar.bz2)   tar xvjf $1    ;;
         *.tar.gz)    tar xvzf $1    ;;
         *.tar.xz)    tar xvJf $1    ;;
         *.bz2)       bunzip2 $1     ;;
         *.rar)       unrar x $1     ;;
         *.gz)        gunzip $1      ;;
         *.tar)       tar xvf $1     ;;
         *.tbz2)      tar xvjf $1    ;;
         *.tgz)       tar xvzf $1    ;;
         *.zip)       unzip $1       ;;
         *.Z)         uncompress $1  ;;
         *.7z)        7z x $1        ;;
         *.xz)        unxz $1        ;;
         *.exe)       cabextract $1  ;;
         *)           echo "\`$1': unrecognized file compression" ;;
     esac
 else
     echo "\`$1' is not a valid file"
 fi
}
z7 does autodetection?

Disk usage

du -sh
  size of a folder
du -S
  size of files in a folder

du -aB1m|awk '$1 >= 100'
  everything over 100Mb

cd / | sudo du -khs *
  show root folder size

sudo du -a --max-depth=1 /usr/lib | sort -n -r | head -n 20
  size of program folders /usr/lib

du -sk ./* | sort -nr | awk 'BEGIN{ pref[1]="K"; pref[2]="M"; pref[3]="G";} { |
total = total + $1; x = $1; y = 1; while( x > 1024 ) { x = (x + 1023)/1024; y++; } |
printf("%g%s\t%s\n",int(x*10)/10,pref[y],$2); } END { y = 1; while( total > 1024 ) |
{ total = (total + 1023)/1024; y++; } printf("Total: %g%s\n",int(total*10)/10,pref[y]); }'
  foooked?
  • ncdu - ncurses disk usage
ncdu / --exclude /home --exclude /media --exclude /run/media
  check everything apart from home and external drives

ncdu / --exclude /home --exclude /media --exclude /run/media
  check everything apart from external drives

todo; source aliases.zsh

Time

Convert unixtime into date;

date -d @1337000000
ntpdate pool.ntp.org && hwclock --systohc && hwclock --adjust
  Synchronize both your system clock and hardware clock and calculate/adjust time drift.
  Do not run this command if you already have ntpd running! [8]

Logs

GUI

X

Window Managers

Openbox

Qt

qtconfig qt4

Distros

Arch

Debian

Ubuntu

Other software

CUPS

Printing system.

Regex

Security

Networking

  • sudo /etc/init.d/<service> restart - ubuntu, restart a service
  • sudo /etc/rc.d/<service> stop | start | restart - arch, service things
  • sudo sh -c "echo 'something' >> /etc/privilegedfile"
  • chown -R user:group . - change all and subitems [9]
  • route -n - display the host's networks and gateway
  • View The Daily Show, etc. in the UK, etc. Mofity HTTP headers; X-Forwarded-For "12.13.14.15" [11]

Cisco

Media

To check;

Storage