]> git.lizzy.rs Git - plan9front.git/blob - sys/man/8/hjfs
acid: watchpoint support
[plan9front.git] / sys / man / 8 / hjfs
1 .TH HJFS 8
2 .SH NAME
3 hjfs \- file server maintenance
4 .SH SYNOPSIS
5 .PD 0
6 .PP
7 .B allow
8 .PP
9 .B chatty
10 .PP
11 .B create
12 .I path uid gid perm
13 .RB [ lad ]
14 .PP
15 .B df
16 .PP
17 .B disallow
18 .PP
19 .B dump
20 .PP
21 .B echo
22 .RB [on | off]
23 .PP
24 .B halt
25 .PP
26 .B newuser
27 .I name
28 .RI [ options ]
29 .PP
30 .B users
31 .PP
32 .B sync
33 .PP
34 .B debug-chdeind
35 .I file
36 .RB [offset
37 .RB value]
38 .PP
39 .B debug-deind
40 .I file
41 .PP
42 .B debug-getblk
43 .I file
44 .RB [blk | start
45 .RB end]
46 .SH DESCRIPTION
47 The following commands should be written to the console of an
48 .IR hjfs (4)
49 file server.
50 .PP
51 .I Allow
52 disables permission checking and allows
53 changing file ownership (see
54 .IR chgrp (1)).
55 This may help in initializing a file system.
56 Use this with caution.
57 .PP
58 .I Chatty
59 enables chatty 9p.
60 .PP
61 .I Create
62 creates a file on the current file system.
63 .I Uid
64 and
65 .I gid
66 are names or numbers from
67 .BR /adm/users .
68 .I Perm
69 is the low 9 bits of the permission mode of the file, in octal.
70 An optional final
71 .BR l ,
72 .BR a ,
73 or
74 .BR d
75 creates a locked file, append-only file, or directory.
76 .PP
77 .I Df
78 prints the number of free, used and total blocks/megabytes.
79 It scans the block table and can be slow on large hard disks.
80 .PP
81 .I Disallow
82 restores permission checking back to normal after a file system
83 has been initialized.
84 .PP
85 .I Dump
86 immediately starts a dump.
87 .PP
88 .I Echo
89 expects the argument
90 .I on
91 or
92 .I off.
93 .I  On
94 causes all executed commands to be printed on the system console.
95 .I Off
96 reverses the effects of
97 .I on.
98 .PP
99 .I Halt
100 exits the program.
101 .PP
102 .I Newuser
103 requires a
104 .I name
105 argument.
106 With no options it adds user
107 .IR name ,
108 with group leader
109 .IR name ,
110 to
111 .B /adm/users
112 and makes the directory
113 .BI /usr/ name
114 owned by user and group
115 .IR name .
116 The options are
117 .TF =leaderxx
118 .TP
119 .B :
120 Add a group: add the name to
121 .B /adm/users
122 but don't create the directory.
123 By convention, groups are numbered starting from 10000, users from 0.
124 .TP
125 .I newname
126 Rename existing user
127 .I name
128 to
129 .IR newname .
130 .TP
131 .BI = leader
132 Change the leader of
133 .I name
134 to
135 .IR leader .
136 If
137 .I leader
138 is missing, remove the existing leader.
139 .TP
140 .BI + member
141 Add
142 .I member
143 to the member list of
144 .IR name .
145 .TP
146 .BI - member
147 Remove existing
148 .I member
149 from the member list of
150 .IR name .
151 .PD
152 .PP
153 After a successful
154 .I newuser
155 command the file server overwrites
156 .B /adm/users
157 to reflect the internal state of the user table.
158 .PP
159 .I Users
160 reads the contents of file 
161 .B /adm/users
162 to initialize the file server's internal representation of the
163 users structure.
164 .PP
165 .I Sync
166 writes dirty blocks in memory to the magnetic disk cache.
167 .PP
168 Note: Debug commands operate on internal data
169 structures; they are inherently dangerous and can cause
170 file system damage.
171 .PP
172 .I Debug-chdeind
173 changes the value of the byte at the specified
174 .I offset
175 in the in-memory directory entry and prints
176 the old
177 .I value.
178 Dangerous if used carelessly.
179 .PP
180 .I Debug-deind
181 requires a
182 .I file
183 argument. It prints the directory entry of
184 .I file.
185 .PP
186 .I Debug-getblk
187 prints the physical blocks of
188 .I file
189 corresponding to the logical block
190 .I blk
191 or the logical blocks between
192 .I start
193 and
194 .I end. 
195 .SH EXAMPLES
196 Check disk usage (output appears on the system console).
197 .IP
198 .EX
199 % echo df >>/srv/hjfs.cmd
200 .EE
201 .SH SEE ALSO
202 .IR hjfs (4)
203 .SH SOURCE
204 .B /sys/src/cmd/hjfs
205 .SH BUGS
206 .B Debug-chdeind
207 should perhaps be less crazy and have a portable interface.